sql更新数据库语句(数据库的更新语句)

sql更新数据库语句(数据库的更新语句),第1张

sql更新数据库语句

UPDATE语句用于更新修改指定记录的数据,其用法为:

UPDATEtbl_nameSETcol_name1=value1,col_name2=value2,WHEREconditions

对符合条件的记录,更新修改指定字段的值。若没有WHERE条件限定,则对所有记录进行更新修改。

1首先使用Access创建一个数据保存在硬盘某处,使用MDB

2打开Vs 2013,引入命名空间:

using SystemDataOleDb;

声明对象:

private  OleDbConnection _oleDbConn;         private  OleDbDataAdapter _oleDbAda;

3构建链接信息:

public readonly static string _strdata = stringFormat("{0}{1}{2}", "provider=microsoftjetoledb40; Data Source=", SystemIOPathGetDirectoryName(AssemblyGetExecutingAssembly()Location), @"\db\StuManDatamdb");

我这里是构建一个目录:当前目录先的db文件夹下的StuMandatamdb数据库文件。

当然你可以可以直接指定目录:例:

string_strdata=@"provider=microsoftjetoledb40; Data Source=C:\db\StuManDatamdb";

这样就构建好了链接信息。

4_oleDbConn = new OleDbConnection(_strConn);//根据链接信息实例化链接对象

_oleDbConnopen();//打开连接;

_oleDbAda = new OleDbDataAdapter(strsql, _oleDbConn);//strsql sql语句;

见过sql语句执行的数据库连接对象

_oleDbAdaFill(dt, tableName);

//将结果保存到本地结果及 dt==DataSet dt=new DataSet();

//Ok,Now,可以 *** 作dt了,当然前提它不是空的。

5调用示例,构建Sql语句,传给显示窗体对象。

6使用封装好的类,返回查询结果集,并提取数据。

7运行结果。

我有次也遇到了这样的问题

我用的是J2EE 用JDBC连接一个Access

当时已经成功加入了进500条信息拉

但突然就加不进去了 程序提示是成功了 但其实数据库里根本没有数据

最后的解决方法居然用了一个我备份用的空白数据库 先暂时换掉 老数据库

然后就可以重新插入了

后来发现原数据库的大小好象被锁定了(不明原因)

希望对你有帮助

可以使用 TableAdapterUpdate 方法更新(编辑)数据库中的记录。 TableAdapterUpdate 方法根据传入的参数提供了若干次执行不同 *** 作的重载。 了解调用这些不同方法签名的结果非常重要。 说明 如果您的应用程序不使用 TableAdapter,您就可以使用命令对象更新数据库中的记录(例如, ExecuteNonQuery)。 有关使用命令对象更新数据的更多信息,请参见下面的“使用命令对象更新记录”。 下表描述了各种 TableAdapterUpdate 方法的行为: 方法 说明TableAdapterUpdate(DataTable) 尝试将 DataTable 中的所有更改保存到数据库中。 (这包括从表中移除所有删除的行、将插入的行添加到表中、更新表中已更改的所有行。) TableAdapterUpdate(DataSet) 虽然该参数带有一个数据集,但 TableAdapter 仍尝试将 TableAdapter 的关联 DataTable 中的所有更改保存到数据库中。 (这包括从表中移除所有删除的行、将插入的行添加到表中、更新表中已更改的所有行。) 说明 TableAdapter 的关联 DataTable 是最初配置 TableAdapter 时创建的 DataTable。 TableAdapterUpdate(DataRow) 尝试将指示 DataRow 中的更改保存到数据库中。 TableAdapterUpdate(DataRows()) 尝试将 DataRow 数组中任意行中的更改保存到数据库中。 TableAdapterUpdate("new column values", "original column values") 尝试保存由原始列值标识的单行中的更改。 通常,当应用程序使用数据集以独占方式存储数据时,您使用的是带有 DataSet、 DataTable 或 DataRow 的TableAdapterUpdate 方法。 通常,当应用程序使用对象存储数据时,您使用的是带有列值的 TableAdapterUpdate 方法。 如果TableAdapter 没有带列值的 Update 方法,就表示已将 TableAdapter 配置为使用存储过程,或者已将它的 GenerateDBDirectMethods 属性设置为 false。 尝试从 “数据集设计器”内将TableAdapter 的 GenerateDBDirectMethods 属性设置为 true,然后保存该数据集以重新生成 TableAdapter。 如果TableAdapter 仍没有带列值的 Update 方法,该表就可能没有提供足够多的架构信息以区分各行(例如,未在表中设置任何主键)。 使用TableAdapter 更新现有记录 根据应用程序的需要,TableAdapter 提供了更新数据库中记录的不同方法。 如果应用程序使用数据集存储数据,则可以在所需的 DataTable 中简单地更新记录,然后调用 TableAdapterUpdate 方法并传入 DataSet、 DataTable、 DataRow 或 DataRow 数组。 上表描述了不同的 Update 方法。 用带有 DataSet、DataTable、DataRow 或 DataRows() 的 TableAdapterUpdate 方法更新数据库中的记录 通过直接编辑 DataTable 中的 DataRow,编辑所需的 DataTable 中的记录。 有关更多信息,请参见 如何:编辑数据表中的行。 在 DataTable 中对行进行编辑后,请调用 TableAdapterUpdate 方法。 通过传入完整的 DataSet、 DataTable、 DataRow 数组或单个 DataRow,您可以控制要更新的数据量。 下面的代码显示如何编辑 DataTable 中的记录,然后调用 TableAdapterUpdate 方法将更改保存到数据库中。 (此示例使用 Northwind 数据库 Region 表。) ' Locate the row you want to update Dim regionRow As NorthwindDataSetRegionRow regionRow = NorthwindDataSet_RegionFindByRegionID(1) ' Assign the new value to the desired column regionRowRegionDescription = "East" ' Save the updated row to the database MeRegionTableAdapterUpdate(MeNorthwindDataSet_Region) // Locate the row you want to update NorthwindDataSetRegionRow regionRow; regionRow = northwindDataSetRegionFindByRegionID(1); // Assign the new value to the desired column regionRowRegionDescription = "East"; // Save the updated row to the database thisregionTableAdapterUpdate(thisnorthwindDataSetRegion); 如果应用程序使用对象存储应用程序中的数据,您就可以使用 TableAdapter 的 DBDirect 方法将数据从对象中直接发送到数据库。 这些方法可让您将各列的单个值传递为方法参数。 调用此方法用传入该方法的列值更新数据库中的现有记录。 以下过程使用 Northwind Region 表作为示例。 使用带有列值的 TableAdapterUpdate 方法更新数据库中的记录 调用TableAdapter 的 Update 方法,以参数的形式为每一列传入新值和原始值。 说明 如果没有实例可用,请实例化您要使用的 TableAdapter。 Dim regionTableAdapter As New NorthwindDataSetTableAdaptersRegionTableAdapter regionTableAdapterUpdate(1, "East", 1, "Eastern") NorthwindDataSetTableAdaptersRegionTableAdapter regionTableAdapter = new NorthwindDataSetTableAdaptersRegionTableAdapter(); regionTableAdapterUpdate(1, "East", 1, "Eastern"); 使用命令对象更新记录 下面的示例使用命令对象直接更新数据库中的现有记录。 有关使用命令对象执行命令和存储过程的更多信息,请参见 将数据获取到应用程序。 以下过程使用 Northwind Region 表作为示例。 使用命令对象更新数据库中的现有记录 创建新的命令对象;设置它的 Connection、CommandType 和CommandText 属性;然后打开一个连接,并执行该命令。 Dim sqlConnection1 As New SystemDataSqlClientSqlConnection("YOUR CONNECTION STRING") Dim cmd As New SystemDataSqlClientSqlCommand cmdCommandType = SystemDataCommandTypeText cmdCommandText = "UPDATE Region SET [RegionDescription] = @RegionDescription WHERE [RegionID] = @RegionID" cmdParametersAddWithValue("@RegionDescription", "East") cmdParametersAddWithValue("@RegionID", "1") cmdConnection = sqlConnection1 sqlConnection1Open() cmdExecuteNonQuery() sqlConnection1Close() SystemDataSqlClientSqlConnection sqlConnection1 = new SystemDataSqlClientSqlConnection("YOUR CONNECTION STRING"); SystemDataSqlClientSqlCommand cmd = new SystemDataSqlClientSqlCommand(); cmdCommandType = SystemDataCommandTypeText; cmdCommandText = "UPDATE Region SET [RegionDescription] = @RegionDescription WHERE [RegionID] = @RegionID"; cmdParametersAddWithValue("@RegionDescription", "East"); cmdParametersAddWithValue("@RegionID", "1"); cmdConnection = sqlConnection1; sqlConnection1Open(); cmdExecuteNonQuery(); sqlConnection1Close(); 安全性 您必须具有访问正尝试连接到的数据库的权限,以及更新所需表中记录的权限。 请参见任务 如何:删除数据库中的记录 如何:将新记录插入数据库 如何:将数据从对象保存到数据库概念 TableAdapter 概述 准备应用程序以接收数据 将数据获取到应用程序 在Visual Studio 中将控件绑定到数据 在应用程序中编辑数据 验证数据 保存数据其他资源 Visual Studio 的数据应用程序概述 连接到 Visual Studio 中的数据

以上就是关于sql更新数据库语句(数据库的更新语句)全部的内容,包括:sql更新数据库语句(数据库的更新语句)、c# 更新Access数据库、java更新access数据库中的信息,数据库中的数据总是没有更新,但更新返回影响的行数是1,下面是那个方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9734655.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存