用c#开发 winform碰到这样的情况 得到一个dataset捆绑到textbox上
现在问题是 更新不了
也没提示错误
捆绑datagrid可以更新 但是textbox就不可以了不
代码是这样的
SqlConnection _conn=new SqlConnection(CommunionSearchConfiguration.ConnectionString);
SqlTransaction trans=null;
SqlDataAdapter taskDetailDataAdapter;
//make the taskDetailDataAdapter instance
SqlCommand selectTaskDetailComm=new SqlCommand(COMMANDTEXT,_conn);
selectTaskDetailComm.CommandType=CommandType.StoredProcedure;
selectTaskDetailComm.Parameters.Add("@TaskID",SqlDbType.Int,4,"TaskID");
selectTaskDetailComm.Parameters["@TaskID"].Value=Convert.ToInt32(strtaskid);
...updatecoommand,insertcommand,deletecommand
taskDetailDataAdapter=new SqlDataAdapter(selectTaskDetailComm);
//SqlCommandBuilder taskCommandBuilder=new SqlCommandBuilder(taskDetailDataAdapter);
taskDetailDataAdapter.InsertCommand=insertTaskComm;
taskDetailDataAdapter.DeleteCommand=deleteTaskComm;
taskDetailDataAdapter.UpdateCommand=updateTaskComm;
try{ _conn.Open();
trans=_conn.BeginTransaction();
taskDetailDataAdapter.InsertCommand.Transaction=trans;
taskDetailDataAdapter.DeleteCommand.Transaction=trans;
taskDetailDataAdapter.UpdateCommand.Transaction=trans;
taskDetailDataAdapter.Update(taskDetailData.Tables[TaskDetailData.TASKDETAIL_TABLE].Select("","",DataViewRowState.Added));
taskDetailDataAdapter.Update(taskDetailData.Tables[TaskDetailData.TASKDETAIL_TABLE].Select("","",DataViewRowState.ModifiedCurrent));
taskDetailDataAdapter.Update(taskDetailData.Tables[TaskDetailData.TASKDETAIL_TABLE].Select("","",DataViewRowState.Deleted));
trans.Commit();
taskDetailData.AcceptChanges();
}
现在问题是 更新不了
也没提示错误
捆绑datagrid可以更新 但是textbox就不可以了不
代码是这样的
SqlConnection _conn=new SqlConnection(CommunionSearchConfiguration.ConnectionString);
SqlTransaction trans=null;
SqlDataAdapter taskDetailDataAdapter;
//make the taskDetailDataAdapter instance
SqlCommand selectTaskDetailComm=new SqlCommand(COMMANDTEXT,_conn);
selectTaskDetailComm.CommandType=CommandType.StoredProcedure;
selectTaskDetailComm.Parameters.Add("@TaskID",SqlDbType.Int,4,"TaskID");
selectTaskDetailComm.Parameters["@TaskID"].Value=Convert.ToInt32(strtaskid);
...updatecoommand,insertcommand,deletecommand
taskDetailDataAdapter=new SqlDataAdapter(selectTaskDetailComm);
//SqlCommandBuilder taskCommandBuilder=new SqlCommandBuilder(taskDetailDataAdapter);
taskDetailDataAdapter.InsertCommand=insertTaskComm;
taskDetailDataAdapter.DeleteCommand=deleteTaskComm;
taskDetailDataAdapter.UpdateCommand=updateTaskComm;
try{ _conn.Open();
trans=_conn.BeginTransaction();
taskDetailDataAdapter.InsertCommand.Transaction=trans;
taskDetailDataAdapter.DeleteCommand.Transaction=trans;
taskDetailDataAdapter.UpdateCommand.Transaction=trans;
taskDetailDataAdapter.Update(taskDetailData.Tables[TaskDetailData.TASKDETAIL_TABLE].Select("","",DataViewRowState.Added));
taskDetailDataAdapter.Update(taskDetailData.Tables[TaskDetailData.TASKDETAIL_TABLE].Select("","",DataViewRowState.ModifiedCurrent));
taskDetailDataAdapter.Update(taskDetailData.Tables[TaskDetailData.TASKDETAIL_TABLE].Select("","",DataViewRowState.Deleted));
trans.Commit();
taskDetailData.AcceptChanges();
}
如:b=c; textbox=b; //这个不要与b=c;在一个{}内
比如为DataGrid的时候,增加修改或者删除datagrid的内容可以使taskDetailData中行的状态为Added,ModifiedCurrent,Delete.
绑定TextBox怎么办?除非你用程序改变taskDetailData的内容
那是否要用 datatable datarow
to charles_y
有无好点的例子