当前位置: 代码迷 >> ASP.NET >> access 后盾更新
  详细解决方案

access 后盾更新

热度:5853   发布时间:2013-02-25 00:00:00.0
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 + " ";
  相关解决方案