使用SQLcommandBuilder的C#批量更新异常[英] C# Bulk Update Exception using SQLcommandBuilder

本文是小编为大家收集整理的关于使用SQLcommandBuilder的C#批量更新异常的处理方法,想解了使用SQLcommandBuilder的C#批量更新异常的问题怎么解决?使用SQLcommandBuilder的C#批量更新异常问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

你好,

我试图用 sqlcommandBuilder 更新/插入,但在 21 日更新 20 条记录后出现问题,出现一些 sql 异常(可能是数据类型,值范围.....)由于某些 sql 异常,第 21 条记录没有更新.因为这个所有其他记录都在回滚.请指导我解决这个问题.
我想如果会出现异常,那么如何处理而不影响事务回滚.


任何异常x,y,z.我想要在异常之前插入/更新应该保留在数据库中的任何异常如何处理这个请指导我

复制自评论:

string TableName = "EmpDat";DataTable orgTable = new DataTable();orgTable.TableName=表名;orgTable.Columns.Add("EmpName", typeof(字符串));orgTable.Columns.Add("Desig", typeof(字符串));orgTable.Columns.Add("EmpFname", typeof(字符串));orgTable.Columns.Add("Salary", typeof(int));orgTable.Columns.Add("Sex", typeof(字符串));orgTable.Columns.Add("Branch", typeof(字符串));数据行博士 = orgTable.NewRow();博士["EmpName"] = "杰克";博士["设计"] = "乔基达尔";博士["EmpFname"] = "Khain The";博士["薪水"] = 12;博士["性别"] = "H";博士["分支"] = "不允许";orgTable.Rows.Add(dr);SqlTransaction 传输;SqlConnection con = new SqlConnection("Constr");con.Open();tran = con.BeginTransaction();SqlCommand cmd = new SqlCommand("select * from EmpDetail", con);cmd.Transaction = 传输;SqlDataAdapter da = new SqlDataAdapter(cmd);数据集 ds = new DataSet();da.Fill(ds,"EmpDat");DataRow[] dr1 = ds.Tables[0].Select("empname='Jack'");dr1[0]["empName"] = "早安";orgTable.AcceptChanges();数据表 f = orgTable.GetChanges(DataRowState.Modified);// con.Open();SqlCommandBuilder sqlcmdBuild = new SqlCommandBuilder(da);da.Update(ds.Tables[0]);

推荐答案

尝试使用 Try catch,然后在 catch 块中提交您的 SqlTransaction

类似

尝试{//你的代码在这里;}捕获(例外 ex){//在这里提交你的SqlTransaction;}

本文地址:https://www.itbaoku.cn/post/1355955.html