java查询access2007的数据库,日期格式出错,求救

数据库的表里有姓名,卡号和日期,卡号是1234567,日期是2010-2-28程序里:StringID=1234567StringDATE=2010-2-28query=... 数据库的表里有姓名,卡号和日期,卡号是1234567,日期是2010-2-28
程序里:
String ID=1234567
String DATE=2010-2-28
query="select 姓名 from table1 where 卡号='"+ID+"' and 日期="+DATE;
查不到数据
如果给DATE两端加#,则报“标准表达式中数据类型不匹配”的异常
还是不行,CDate也用了,还是搜不到
展开
 我来答
godcomexxx
2010-03-03 · TA获得超过1205个赞
知道小有建树答主
回答量:651
采纳率:0%
帮助的人:628万
展开全部
我使用的是Oracle
在查询的时候也出现你的问题
不知道两个数据库转换成日期格式的是否一样
将你的修改一下
query="select 姓名 from table1 where 卡号='"+ID+"' and 日期="+to_date(DATE,'yyyy-mm-dd');

补充回答:
你将你的语句放在pl/sql中可以执行正确吗?

再次补充:
首先to_date是oracle中的方法,access估计没有,看到网上提,在access中有
convert方法,可以转化,但是貌似也解决不了
好像有一个方法是cdate(在其中输入字符串)
你试一试吧
zy974400763
2010-03-02 · TA获得超过268个赞
知道小有建树答主
回答量:129
采纳率:0%
帮助的人:111万
展开全部
如果你确定你的数据库里日期列是Date型的话,可以试着用PreparedStatement,
先创建Date对象(这里的Date是java.sql.Date不是java.util.Date)如:
Date date = Date.valueOf(2010-2-28);
将sql语句改为带'?'占位符的:query = "select 姓名 from table1 where 卡号=?and日期=?";
然后通过PreparedStatement对象的setDate()方法将Date对象传入。
PreparedStatement的使用应该会吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
机器猫的原创
2010-03-02 · TA获得超过173个赞
知道小有建树答主
回答量:210
采纳率:100%
帮助的人:91.9万
展开全部
sql格式有问题。我估计可以用convert函数来格式化日期。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式