C# 更新命令无效
我有以下代码。插入和删除除更新之外的工作。我使用SQLServerProfiler对其进行跟踪,发现没有发布用于更新的SQL。我使用C# 更新命令无效,c#,ado.net,sqlclient,C#,Ado.net,Sqlclient,我有以下代码。插入和删除除更新之外的工作。我使用SQLServerProfiler对其进行跟踪,发现没有发布用于更新的SQL。我使用dt.Rows[0]进行了测试。RowState的值为“Modified” 是否检查生成的update sql命令是否正常?如果逐行跟踪方法,则update sql正常。如果我在块的最后一行设置断点,那就是更新表,其中Id=@p1。没有错误/异常。您的更新命令应该如下所示:update[table]SET[x]=\@p1[y]=\@p2其中[x]=\@p3。。。没有
dt.Rows[0]进行了测试。RowState
的值为“Modified”
是否检查生成的update sql命令是否正常?如果逐行跟踪方法,则update sql正常。如果我在块的最后一行设置断点,那就是更新表,其中Id=@p1。没有错误/异常。您的更新命令应该如下所示:update[table]SET[x]=\@p1[y]=\@p2其中[x]=\@p3。。。没有设定它就不能工作…我知道。奇怪的是,调试器显示了两个不同的结果。没有错误。
using(var scope = new TransactionScope())
{
using (var con = new SqlConnection(ConnectionString))
{
con.Open();
var da = new SqlDataAdapter("select * from table", con);
var cb = new SqlCommandBuilder(da);
cb.ConflictOption = ConflictOption.OverwriteChanges;
da.UpdateCommand = cb.GetUpdateCommand();
da.InsertCommand = cb.GetInsertCommand();
da.DeleteCommand = cb.GetDeleteCommand();
da.UpdateBatchSize = 2000;
da.Update(dt);
}
scope.Complete();
}