Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 从数据表更新sql server表的最佳方法_.net_Sql Server_Datatable - Fatal编程技术网

.net 从数据表更新sql server表的最佳方法

.net 从数据表更新sql server表的最佳方法,.net,sql-server,datatable,.net,Sql Server,Datatable,我们得到了更新sql server数据库所需的excel电子表格。我可以轻松地将电子表格读入数据表,它可以有数千行。因此,我可以有一个类似的数据表: id data 1 A 2 B ect 我有这样一个数据库表: id data (more columns) 1 Y 2 Z 可以有多个数据字段,这是不可预测的。我需要将id 1的数据更改为A 我有一个文本框,可以在其中键入SQL UPDATE ITEMS SET data={0

我们得到了更新sql server数据库所需的excel电子表格。我可以轻松地将电子表格读入数据表,它可以有数千行。因此,我可以有一个类似的数据表:

id    data
1       A
2       B
ect

我有这样一个数据库表:

id    data    (more columns)
1       Y
2       Z
可以有多个数据字段,这是不可预测的。我需要将id 1的数据更改为A

我有一个文本框,可以在其中键入SQL UPDATE ITEMS SET data={0},其中id={1}将执行所有更新

我可以根据情况需要修改文本框中的SQL。在本例中,我还可以将datatable中的列分配给占位符{0}和{1}


我想知道我是否可以用SQL以某种方式连接到datatable,或者是否值得将整个datatable插入临时表,然后进行大规模更新。或者我应该让它保持原样并循环遍历数据表。

如果我理解正确,您可以使用MERGE()语句。创建DataTable并用excel电子表格中的数据填充它。然后将这些数据作为(先前创建的)自定义表类型变量的参数传递给sql过程,该过程使用merge语句更新数据。它非常快