/******************相关具体源码,参考下面地址:******************* * http://blog.csdn.net/greatverve/archive/2009/02/27/3941450.aspx ****************************************************************/ //DataAccess.cs中增加如下方法 /// <summary> /// Update:把数据从数据集加载到数据源中。 /// 在调用Update命令前,保证用于更改数据的3个Command存在,否则将引发异常. /// http://www.cnblogs.com/flaaash/archive/2007/12/23/1011124.html /// </summary> /// <param name="ds"></param> /// <param name="tableName"></param> public static void UpdateDataSet(DataSet ds, string tableName) { OleDbConnection conn = new OleDbConnection(strCon); conn.Open(); //显示原始数据 OleDbDataAdapter da = new OleDbDataAdapter("select * from workerInf", conn); //准备UpdateCommand da.UpdateCommand = new OleDbCommand("update workerInf set name=@name where workerid=@workerid", conn); da.UpdateCommand.Parameters.Add("@name", OleDbType.VarChar, 10, "name"); da.UpdateCommand.Parameters.Add("@workerid", OleDbType.Integer, 4, "workerid"); da.Update(ds, tableName); conn.Close(); } //DataForm.cs中修改代码如下: protected void UpdateRecord() { try { //执行数据库操作 //string strInsert = "update workerInf set name='gv1',sex='女' where name='tree'"; //AppCode.DataAccess.ExecuteSQL(strInsert); //更新内在中数据 ds.Tables["workerInf"].Rows[myBind.Position].BeginEdit(); DataRow dr = ds.Tables["workerInf"].Rows[myBind.Position]; dr["name"] = "gv3"; dr["sex"] = "女"; ds.Tables["workerInf"].Rows[myBind.Position].EndEdit(); AppCode.DataAccess.UpdateDataSet(ds, "workerInf"); ds.Tables["workerInf"].AcceptChanges(); } catch (Exception ed) { MessageBox.Show("更新数据记录发生 " + ed.ToString(), "错误!"); } }