这个问题困扰了几天了,请大家帮帮忙。
我在程序中设置了断点,检测SQL语句(标点也都是正确)没有错误,程序也不报任何错误,执行了ExecuteNonQuery后,其返回值=1,代表已经插入一条记录,但是每次再打开数据库新纪录还是没有插入进去 ,数据库无法更新。 插入的前四个字段是文本型,最后一个data型,代码如下:
string myConnstring = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " + "./databases_/medic.mdb";
System.Data.OleDb.OleDbConnection con = new System.Data.OleDb.OleDbConnection(myConnstring);
con.Open(); string strSql = "INSERT INTO Deal([Id_num],[Amount],[Medic_pay],[Stu_pay],[Date])";
strSql += " VALUES('" + textBox1.Text.Trim() + "','" + zje_txb.Text.Trim() + "','" + yb_txb.Text.Trim() + "','" + stu_txb.Text.Trim() + "','" + DateTime.Now.Date.ToShortDateString() + "')"; OleDbCommand deal_insert_cmd = new OleDbCommand(strSql, con);
deal_insert_cmd.ExecuteNonQuery();
int res = deal_insert_cmd.ExecuteNonQuery(); con.Close();
我在程序中设置了断点,检测SQL语句(标点也都是正确)没有错误,程序也不报任何错误,执行了ExecuteNonQuery后,其返回值=1,代表已经插入一条记录,但是每次再打开数据库新纪录还是没有插入进去 ,数据库无法更新。 插入的前四个字段是文本型,最后一个data型,代码如下:
string myConnstring = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " + "./databases_/medic.mdb";
System.Data.OleDb.OleDbConnection con = new System.Data.OleDb.OleDbConnection(myConnstring);
con.Open(); string strSql = "INSERT INTO Deal([Id_num],[Amount],[Medic_pay],[Stu_pay],[Date])";
strSql += " VALUES('" + textBox1.Text.Trim() + "','" + zje_txb.Text.Trim() + "','" + yb_txb.Text.Trim() + "','" + stu_txb.Text.Trim() + "','" + DateTime.Now.Date.ToShortDateString() + "')"; OleDbCommand deal_insert_cmd = new OleDbCommand(strSql, con);
deal_insert_cmd.ExecuteNonQuery();
int res = deal_insert_cmd.ExecuteNonQuery(); con.Close();
Date 如果是时间类型不是用单引号而是用#号,也就是把数据两边加上#号.
int res = deal_insert_cmd.ExecuteNonQuery();把你的语句放到
try {} catch{}里边,肯定有问题
你把deal_insert_cmd.ExecuteNonQuery();
删了执行一次