一个关于java的问题:Data type mismatch in criteria expression.

来源:百度知道 编辑:UC知道 时间:2024/06/10 13:26:28
请各位帮忙看一下,问题出在那里?
String strSQL = "";
if (arSplit[4].length() > 2){
strSQL = "INSERT INTO Table1"+"(Machine_Code,M_Data,M_Time,Pass_Status)" + " VALUES('" + arSplit[0] + "','" + arSplit[2] + "' ,'" + arSplit[3] + "','"+arSplit[4] + "')";
System.out.println(strSQL);
myDB.executeSQL(strSQL);

额,很明显应该不是hibernate.
首先Table1后面是不是没有空格啊,空出来看看.还有,Pass_Status) "括号后面也空格,以免问题出在这种小地方
其次,楼主你是用什么数据库?说字段类型不匹配的.是不是access啊,比如说ACCESS的时间分隔符是#而不是',#2008-08-12 18:34:36#
如果是这个原因的话把M_TIME的arSplit[3]前后的'换成#,还有比如int型的不用加引号啊,这几个都好好检查一下,好好检查一下你的字段看看吧

改成
if(arSplit.length()>2){
}
arSplit[4]是一个元素~~他的length没有意义吧?

你用的hibernate?
数据类型不匹配,检查一下Table1是不是把持久化类名,还是表名,最好再多帖一些代码出来好分析