你的显然有问题,dap这个实例的参数中的SQL语句只是一个查询语句,所以你用dap.Update(mds,"sys");不会更新数据库的。如果你想同时更新数据库和DataSet给你一段参考代码,研究一下吧。
string myConn1 = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = db.mdb" ;
OleDbConnection myConn = new OleDbConnection ( myConn1 ) ;
myConn.Open ( ) ;
string strInsert = " INSERT INTO person ( id , xm , xb , nl , zip ) VALUES ( " ;
strInsert += t_id.Text + ", '" ;
strInsert += t_xm.Text + "', '" ;
strInsert += t_xb.Text + "', " ;
strInsert += t_nl.Text + ", " ;
strInsert += t_books.Text + ")" ;
OleDbCommand inst = new OleDbCommand ( strInsert , myConn ) ;
inst.ExecuteNonQuery ( ) ;
myConn.Close ( ) ;
myDataSet.Tables [ "person" ] . Rows [ myBind.Position ] . BeginEdit ( ) ;
myDataSet.Tables [ "person" ] . Rows [ myBind.Position ] . EndEdit ( ) ;
myDataSet.Tables [ "person" ] . AcceptChanges ( ) ;
string myConn1 = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = db.mdb" ;
OleDbConnection myConn = new OleDbConnection ( myConn1 ) ;
myConn.Open ( ) ;
string strInsert = " INSERT INTO person ( id , xm , xb , nl , zip ) VALUES ( " ;
strInsert += t_id.Text + ", '" ;
strInsert += t_xm.Text + "', '" ;
strInsert += t_xb.Text + "', " ;
strInsert += t_nl.Text + ", " ;
strInsert += t_books.Text + ")" ;
OleDbCommand inst = new OleDbCommand ( strInsert , myConn ) ;
inst.ExecuteNonQuery ( ) ;
myConn.Close ( ) ;
myDataSet.Tables [ "person" ] . Rows [ myBind.Position ] . BeginEdit ( ) ;
myDataSet.Tables [ "person" ] . Rows [ myBind.Position ] . EndEdit ( ) ;
myDataSet.Tables [ "person" ] . AcceptChanges ( ) ;
解决方案 »
- 请帮我解决一下stackoverflowException异常的问题
- 请教一个treeview无刷新遍历以及获取选中值
- <summary>参数注释换行
- 跨线程、夸类访问主线程控件
- 入门问题 自己做一个向导"上一步"时如何显示上一个FORM,"下一步"如何关闭当前FORM和显示下一个FORM
- 菜鸟刚学treeview1控件,有几个简单问题想问。请进
- 帮帮忙看看,怎么回事
- 求教在WEB中的简单问题!(关于对话框的,请各位大哥大姐帮帮忙!在线等待!)
- 关于Multimedia控件?
- 菜菜的问题:为什么看不到C#的窗体Form成 在线等候.........
- 用C#做成的com能在能在其他没有.net framework的平台下被使用吗?
- 如何把两个TextBox内输入的数字经过数学运算的结果赋給另一个TextBox
string strInsert="Insert Into 药库单据 (凭证种类, 凭证号, 填制日期, 审核日期, 备注)" +
"values ('C','"+this.strPingZhengHao +"','"+ System.DateTime.Now +"','','')";
System.Data.SqlClient.SqlCommand sqlInsertCmd = new
System.Data.SqlClient.SqlCommand();
sqlInsertCmd.Connection = conn;
sqlInsertCmd.CommandText=strInsert;
sqlInsertCmd.ExecuteNonQuery();
sqlInsertCmd.Dispose();--------------------------------------------------
你的错误在:
dsTemp=this.mds.GetChanges();
this.dap.Update(dsTemp);
另外DATASET很毫资源,能少用就少用,通常用于做离线数据库时用。主要方便客户端操作后再批更新到数据库中。
dr1["Grade"] = 9;
dr1["GradeName"] = "test";
dt1.Rows.Add(dr1); 应该怎么做?
conn.Open();
Cb=new OleDbCommandBuilder(ad);
ad.Update(fd,TableName);
Cb.Dispose();
这个OleDbCommandBuider类是必需的
我加了你说的那句,没有出什么错,就是数据库中没有增加记录SqlCommandBuilder cb = new SqlCommandBuilder(dap);
这句话的意义到底何在呢?单纯的创建了SqlCommandBuilder对象,没有使用它的任何方法