我是用asp.net+c#做的一个网站,开始数据库用sqlserver2005,上传到服务器时空间不支持,就改成了access。
但是在有一个下定单页面中,提示Data type mismatch in criteria expression.后台可以添加数据,本地测试可以正常下定单。下面是错误提示代码:
Line 82:         OleDbCommand intable = new OleDbCommand("insert into OrderInfo(B_ComName,B_Attention,B_Department,B_Room,B_Tel,B_Fox,B_Zip,B_Street,B_City,B_State,B_Country,S_ComName,S_Attention,S_Department,S_Room,S_Tel,S_Fox,S_Email,S_Zip,S_Street,S_City,S_State,S_Country,B_Email,S_Type,cat1,cat2,cat3,cat4,cat5,cat6,Quantity1,Quantity2,Quantity3,Quantity4,Quantity5,Quantity6,description1,description2,description3,description4,description5,description6)values('" + t3 + "','" + t4 + "','" + t5 + "','" + t6 + "','" + t7 + "','" + t8 + "','" + t9 + "','" + t10 + "','" + t11 + "','" + t12 + "','" + t13 + "','" + t14 + "','" + t15 + "','" + t16 + "','" + t17 + "','" + t18 + "','" + t19 + "','" + t20 + "','" + t21 + "','" + t22 + "','" + t23 + "','" + t24 + "','" + t25 + "','" + t1 + "','" + radio1 + "','" + c1 + "','" + c2 + "','" + c3 + "','" + c4 + "','" + c5 + "','" + c6 + "','" + q1 + "','" + q2 + "','" + q3 + "','" + q4 + "','" + q5 + "','" + q6 + "','" + d1 + "','" + d2 + "','" + d3 + "','" + d4 + "','" + d5 + "','" + d6 + "')", ts);
Line 83:         intable.ExecuteNonQuery();
请高手帮忙分析可能是什么原因啊?

解决方案 »

  1.   

    你把SQL语句写成存储过程试试,这样看不出来。
      

  2.   

    1)特殊字符
    2)ACCESS目录有无修改权限
      

  3.   

    输入的数据都是用数字测试的;
    access应该有修改权限,后台可以添加数据。
      

  4.   

    access数据库是否有修改的权限?
      

  5.   

    我找到原因了:c1,c2,c3,c4,c5,c6,q1,q2,q3,q4,q5,q6,d1,d2,d3,d4,d5,d6都是取的文本框中的值,如果其中有的文本框不填数据就会报上述错误。但是我的文本框不要求全部填写数据啊,怎么解决呢?