access 后台更新
我在更新access数据库时,后台用如下代码,结果被告知
标准表达式中数据类型不匹配。
string ans = TextBox2.Text.ToString();
string constr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=|DataDirectory|QandA.mdb";
int inid = System.Convert.ToInt32(Page.Request.QueryString["ID"]);
OleDbConnection con = new OleDbConnection(constr);
con.Open();
string com = "update quesans set answer='" + ans + "',atime=now() where ID='" + inid + "' ";
OleDbCommand comm = new OleDbCommand(com, con);
comm.ExecuteNonQuery();
con.Close();
============================
个人怀疑与access数据库中 表quesans的ID字段为长整型有关,谁能指教下?
------解决方案--------------------ID= 后面不要单引号试一下
------解决方案--------------------在用Sql更新数据时,如果字段为字符型,需用''括起来,如果为数值型,则不需要'',如是为日期型,则需用# #括起来,下面举个例子,其中pname为姓名(字符型),age为年龄(数值型),Pdate为出生日期(日期型)
sql="update aa set pname='" + tname +"',age=" + tage + ",pdate=#" + tdate + " where id=" +pid
------解决方案--------------------atime=now() where ID=" + inid + " ";