Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.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
C# 更新命令无效_C#_Ado.net_Sqlclient - Fatal编程技术网

C# 更新命令无效

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。。。没有

我有以下代码。插入和删除除更新之外的工作。我使用SQLServerProfiler对其进行跟踪,发现没有发布用于更新的SQL。我使用
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();
}