我用Access,其中的Date字段的属性为 短日期型,rq1和rq2为程序中的两个String型的变量如果写成:
ltSet myResults; myResults=stmt_2.executeQuery("select sum(gz) from 2006 where Date >= '"+rq1+"' and Date <= '"+rq2+"'");
报错:与数据库的数据类型不匹配如果写成:
ltSet myResults; myResults=stmt_2.executeQuery("select sum(gz) from 2006 where Date >= "+rq1+" and Date <= "+rq2);
那么我得到的结果为 1,不过正常情况下不会是1.困惑ing.......
ltSet myResults; myResults=stmt_2.executeQuery("select sum(gz) from 2006 where Date >= '"+rq1+"' and Date <= '"+rq2+"'");
报错:与数据库的数据类型不匹配如果写成:
ltSet myResults; myResults=stmt_2.executeQuery("select sum(gz) from 2006 where Date >= "+rq1+" and Date <= "+rq2);
那么我得到的结果为 1,不过正常情况下不会是1.困惑ing.......
你把rq1和2打出来看看,然后select Date from 2006 看一下格式是否一致
SQL语句中会认为加了引号的在数据库中的数据类型是字符串
stmt_2.executeQuery("select sum(gz) from 2006 where [Date] >= #"+rq1+"# and Date <= #"+rq2+"#");
你这样试试,把sql改成select gz from 2006 where Date >= "+rq1+" and Date <= "+rq2
先把sum去掉,或者干脆select *,然后把结果打出来看看,看是不是你想要的数据