首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

自动编号类型不匹配有关问题

2012-01-24 
自动编号类型不匹配问题使用jsp语言从access中按照自动编号的字段删除符合条件的行时,如下代码String dele

自动编号类型不匹配问题
使用jsp语言从access中按照自动编号的字段删除符合条件的行时,如下代码
String delete1="delete from question where q_id='"+id+"'";
s.executeUpdate(delete1);
运行时就会出现类型不匹配问题,这里id的类型像int,float,double,long我都试过了没有一个是匹配的,(access上说的是长整型),但是写成:
String delete1="delete from question where q_id="+id;
s.executeUpdate(delete1);
运行没问题,大家知道的还请详细解释一下!先谢谢大家了!

[解决办法]
匹配int
[解决办法]
晕,那也要看q_id这个是什么类型呀,知道哪种类型了,就知道该怎么引用了
[解决办法]
Access这个数据库要求你传入的类型必须和数据库类型相同才行。

where id='1' 这个传入的是字符,对应的数据库应该是 varchar
where id = 1 这个传入的才是数字,对应 int 类型
[解决办法]
一般的数据库可以自动进行转换,比如 SQL Server,Oracle MySQL

呵呵,Access 你就将就的用吧,我们还能要求什么呢?
[解决办法]
这个问题很明显的一点是,你在拼写sql语句时有问题:
String delete1="delete from question where q_id='"+id+"'";
如果在'id'两边加上"'"的话,代表你定义的id为字符串类型,但实际上‘自动编号’的字段为数值类型的, 
所以会出现数据类型不匹配的错误。

热点排行