使用DataTable Update()方法更新多个SQL表
本文关键字:SQL 更新 方法 DataTable Update 使用 | 更新日期: 2023-09-27 17:59:22
我正在尝试用Web表单中更改的数据更新SQL后端。
该数据最初是像一样从SQL中提取的
string cs = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();
SqlConnection connection = new SqlConnection(cs);
SqlCommand command = new SqlCommand("my.storedprocedure", cs);
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add(new SqlParameter("@customerID", custid));
command.CommandTimeout = 300;
connection.Open();
SqlDataAdapter sda = new SqlDataAdapter(command);
connection.Close();
sda.FillSchema(myDataTable, SchemaType.Source);
sda.Fill(myDataTable);
存储过程进行选择
SELECT c.*
,cs.*
,p.*
,sl.*
,drl.*
FROM tableC as c
INNER JOIN tableCS as cs ON c.[custID] = cs.[custID]
INNER JOIN tableSL as sl ON cs.[custStatusID] = sl.[custStatusID]
LEFT OUTER JOIN tableP as p ON c.custID = p.custID
LEFT OUTER JOIN tableDRL as drl ON cs.custID = drl.custID
WHERE c.[custID] = @custID AND c.[EndDate] IS NULL AND cs.[EndDate] IS NULL
然后,我操作用这个存储过程填充的数据表,调用dt.NewRow()
,向新行添加值,将该行添加到数据表中。设置前一行等中的字段
我的问题是,当我准备调用SqlDataAdapter.Update(myDataTable)
时,数据适配器是否也会继续更新我加入的所有表?基于我的数据表中的内容
简短的回答是否定的——单个适配器适用于单个表。如果使用ADO.NET.,则需要使用数据集
使用数据集:
从DataAdapter 填充数据集
ADO.NET-更新多个数据表
用多个表填充数据集,并使用DataAdapter 更新它们
使用TableAdapterManager:
TableAdapterManager概述