C# 是否使用DataTable Update()方法更新多个SQL表?
我正在尝试使用Web表单中已更改的数据更新SQL后端 该数据最初是从SQL中获取的,如下所示C# 是否使用DataTable Update()方法更新多个SQL表?,c#,datatable,dataadapter,sqldataadapter,C#,Datatable,Dataadapter,Sqldataadapter,我正在尝试使用Web表单中已更改的数据更新SQL后端 该数据最初是从SQL中获取的,如下所示 string cs = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString(); SqlConnection connection = new SqlConnection(cs); SqlCommand command = new SqlCommand("my.storedprocedure", cs); command
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
然后,我操作这个存储过程填充的数据表,调用adt.NewRow()
,向新行添加值,然后将该行添加到数据表中。设置前一行中的字段等
我的问题是,当我准备调用
SqlDataAdapter.Update(myDataTable)
时,数据适配器是否会继续对我加入的所有表进行更新?根据我的数据表中的内容?简短的回答是否-单个适配器用于单个表。如果使用ADO.NET,则需要使用数据集
使用数据集:
使用TableAdapterManager: