各位帮我看看 我是想用trans来更新datagrid修改的数据 碰到这个问题代码
private void button2_Click(object sender, System.EventArgs e)
{
this.BindingContext[this.taskDataSet].EndCurrentEdit();
UpdateTaskWithTransaction((DataSet) taskDataSet);
taskDataSet.AcceptChanges();
}public void UpdateTaskWithTransaction(DataSet taskDataSet)
{
SqlConnection _conn=new SqlConnection(CommunionSearchConfiguration.ConnectionString);
SqlTransaction trans=null;
SqlDataAdapter taskDataAdapter=new SqlDataAdapter(COMMANDTEXT,_conn);
taskDataAdapter.SelectCommand=new SqlCommand(COMMANDTEXT,_conn);
SqlCommandBuilder taskCommandBuilder=new SqlCommandBuilder(taskDataAdapter);
taskDataAdapter.InsertCommand=taskCommandBuilder.GetInsertCommand();
taskDataAdapter.DeleteCommand=taskCommandBuilder.GetDeleteCommand();
taskDataAdapter.UpdateCommand=taskCommandBuilder.GetUpdateCommand();
try
{
_conn.Open();
trans=_conn.BeginTransaction();
taskDataAdapter.InsertCommand.Transaction=trans;
taskDataAdapter.DeleteCommand.Transaction=trans;
taskDataAdapter.UpdateCommand.Transaction=trans;
//taskDataAdapter.Update(taskDataSet.Tables[TASK_TABLE].Select("","",DataViewRowState.Added));
taskDataAdapter.Update(taskDataSet.Tables[TASK_TABLE].Select("","",DataViewRowState.ModifiedCurrent));
//taskDataAdapter.Update(taskDataSet.Tables[TASK_TABLE].Select("","",DataViewRowState.Deleted));
trans.Commit();
}
catch(Exception ex) { trans.Rollback(); throw new Exception("更新数据出错",ex); } finally { if(_conn.State != ConnectionState.Closed) _conn.Close(); } }taskDataAdapter.InsertCommand=taskCommandBuilder.GetInsertCommand();这里出错"未处理的“System.Data.SqlClient.SqlException”类型的异常出现在 system.data.dll 中。其他信息: 系统错误。"
请问下 有经验的人什么原因
private void button2_Click(object sender, System.EventArgs e)
{
this.BindingContext[this.taskDataSet].EndCurrentEdit();
UpdateTaskWithTransaction((DataSet) taskDataSet);
taskDataSet.AcceptChanges();
}public void UpdateTaskWithTransaction(DataSet taskDataSet)
{
SqlConnection _conn=new SqlConnection(CommunionSearchConfiguration.ConnectionString);
SqlTransaction trans=null;
SqlDataAdapter taskDataAdapter=new SqlDataAdapter(COMMANDTEXT,_conn);
taskDataAdapter.SelectCommand=new SqlCommand(COMMANDTEXT,_conn);
SqlCommandBuilder taskCommandBuilder=new SqlCommandBuilder(taskDataAdapter);
taskDataAdapter.InsertCommand=taskCommandBuilder.GetInsertCommand();
taskDataAdapter.DeleteCommand=taskCommandBuilder.GetDeleteCommand();
taskDataAdapter.UpdateCommand=taskCommandBuilder.GetUpdateCommand();
try
{
_conn.Open();
trans=_conn.BeginTransaction();
taskDataAdapter.InsertCommand.Transaction=trans;
taskDataAdapter.DeleteCommand.Transaction=trans;
taskDataAdapter.UpdateCommand.Transaction=trans;
//taskDataAdapter.Update(taskDataSet.Tables[TASK_TABLE].Select("","",DataViewRowState.Added));
taskDataAdapter.Update(taskDataSet.Tables[TASK_TABLE].Select("","",DataViewRowState.ModifiedCurrent));
//taskDataAdapter.Update(taskDataSet.Tables[TASK_TABLE].Select("","",DataViewRowState.Deleted));
trans.Commit();
}
catch(Exception ex) { trans.Rollback(); throw new Exception("更新数据出错",ex); } finally { if(_conn.State != ConnectionState.Closed) _conn.Close(); } }taskDataAdapter.InsertCommand=taskCommandBuilder.GetInsertCommand();这里出错"未处理的“System.Data.SqlClient.SqlException”类型的异常出现在 system.data.dll 中。其他信息: 系统错误。"
请问下 有经验的人什么原因
解决方案 »
- 使用SvcUtil时报的错
- Janus WinForms Controls中containercontrol控件怎么使用
- VS中如何添加想flash一样的文件
- DropDownList联动,无法取到第二个DropDownList的选中值。请大家帮帮忙。
- 释放此 System.Net.Sockets.TcpClient 实例,而不关闭基础连接 是什么意思?
- ERP顾问的工资多少(上海)
- 请C#高手们来啊!有好东西给你们看啊
- 我用c#自己写了一个控件(请问怎么生成控件啊?)和(怎么使用控件啊)?????
- 请进,关于使用WebBrowser直接获取源代码的问题!
- 说C#好的近来。。。。。。。。火,火,火
- C#可以直接编译成机器代码吗?
- trans来更新datagrid修改的数据 碰到这个问题
删除以下几行看看
taskDataAdapter.InsertCommand=taskCommandBuilder.GetInsertCommand();
taskDataAdapter.DeleteCommand=taskCommandBuilder.GetDeleteCommand();
taskDataAdapter.UpdateCommand=taskCommandBuilder.GetUpdateCommand();