当前位置: 技术问答>java相关
sql 2k问题
来源: 互联网 发布时间:2015-10-02
本文导语: 我用的是JSP+SQL SERVER2K。 数据表(a): userID bigint primary key; xingming varchar(20) null; 111 kk 222 bb 当想从数据库中取出userID=111的数据时,使用 Resul...
我用的是JSP+SQL SERVER2K。
数据表(a):
userID bigint primary key; xingming varchar(20) null;
111 kk
222 bb
当想从数据库中取出userID=111的数据时,使用
ResultSet rss=javaBean.excecuteQuery("select * from a where userID='"+111+"'")
然后用 String ss=rss.getString("xingming"); 可返回的数值总是NULL.
怀疑可能是primary key不能是bigint类型,把aa的userID的类型换成了varchar(20),原来的数据(kk,bb)没有改,当我向数据库中添加数据时,却不能将数据加到数据库中去,命令:javaBean.executeQuery("insert into aa userID,xingming values('"+111+"','"+ccf+"')");
想请教一下,是什么原因造成了这样?该怎么解决?
数据表(a):
userID bigint primary key; xingming varchar(20) null;
111 kk
222 bb
当想从数据库中取出userID=111的数据时,使用
ResultSet rss=javaBean.excecuteQuery("select * from a where userID='"+111+"'")
然后用 String ss=rss.getString("xingming"); 可返回的数值总是NULL.
怀疑可能是primary key不能是bigint类型,把aa的userID的类型换成了varchar(20),原来的数据(kk,bb)没有改,当我向数据库中添加数据时,却不能将数据加到数据库中去,命令:javaBean.executeQuery("insert into aa userID,xingming values('"+111+"','"+ccf+"')");
想请教一下,是什么原因造成了这样?该怎么解决?
|
1、把拼出来的sql语句先显示出来,就可以知道是不是lll和ccf没有取到值。你贴的代码只有这么多,没法判断别处的问题。
2、如果有值,copy到查询分析器里去执行一下,看看能不能运行。可能是你的表a里有不能为空的列存在,但是你插入新行时没有值。
2、如果有值,copy到查询分析器里去执行一下,看看能不能运行。可能是你的表a里有不能为空的列存在,但是你插入新行时没有值。
|
select * from a where userID='"+111+"'
改为:
select * from a where userID='111'
insert 也是这个原因!
改为:
select * from a where userID='111'
insert 也是这个原因!
|
1、ResultSet rss=javaBean.excecuteQuery("select * from a where userID='"+111+"'")
userid是bigint不是字符,不要 '
2、javaBean.executeQuery("insert into aa userID,xingming values('"+111+"','"+ccf+"')");
同样SQL语法错误。注意括号
javaBean.executeQuery("insert into aa (userID,xingming) values('"+111+"','"+ccf+"')");
3、把出错信息写出来,有助于了解问题
userid是bigint不是字符,不要 '
2、javaBean.executeQuery("insert into aa userID,xingming values('"+111+"','"+ccf+"')");
同样SQL语法错误。注意括号
javaBean.executeQuery("insert into aa (userID,xingming) values('"+111+"','"+ccf+"')");
3、把出错信息写出来,有助于了解问题
|
sql 2k bigint类型有的时候不好使,改为int试试