java 执行sql语句 rs.next() 为空?

这里是部分代码。执行sql后rs.next()为空????这是为什么数据库连接完全正常就是if(rs。next())里面的语句根本没有执行为什么?篇幅有限还需要那部分代码... 这里是部分代码。执行sql后 rs.next() 为空???? 这是为什么 数据库连接完全正常

就是 if(rs。next())里面的语句根本没有执行 为什么 ? 篇幅有限 还需要那部分代码 我可以贴

这是界面输入
展开
 我来答
godcomexxx
2013-06-24 · TA获得超过1205个赞
知道小有建树答主
回答量:651
采纳率:0%
帮助的人:574万
展开全部
出现此类问题:
1、检查连接是否正常(楼主说连接没问题,此处略过)
2、检查stmt是否初始化
3、检查sql语句是否正确
注:此处看到楼主提供截图输入的学号为数字组成
a、那需确定数据库中字段是否为字符类型
b、字符类型的话最好将输入的字符串用单引号引起来
c、sql机制中可能将数字类型做了处理(有待楼主确定后分项一下)
希望回答对你有所启发
追问

这是建表语句,学号8位char 型

我加了单引号 还是不行 T_T

追答
这里说明一下
1、存字符串最好使用varchar2
2、直接使用sql语句在客户端查询书否能查询出结果
3、举例:
a、存入数据库的时候SQl语句为
insert into SC sno values('04110000'); // 存入结果为04110000
insert into SC sno values(04110000); // 存入结果为4110000
此处可能存的时候出现问题。
b、取数据对于char型数据,如果位数不足,会在末尾补空
此处也可能出现问题。
上官箫竹
2013-06-24 · 超过10用户采纳过TA的回答
知道答主
回答量:32
采纳率:0%
帮助的人:15.7万
展开全部
你上边自己的注释是对的么?Sno是varchar? 那你最后组装出来的sql执行必然会报错,应该是
stmt.executeQuery(sql+"'"+name+"'");
更多追问追答
追问
Sno  char(8)  sql倒是没有报错。  ResultSet rt结果集 为空 没有查询到结果
追答
那你把输出的sql执行一次看能不能查询出数据。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wudixiaochen00
2013-06-24 · TA获得超过2095个赞
知道小有建树答主
回答量:751
采纳率:100%
帮助的人:395万
展开全部
  1. 你获取数据库连接了吗?connection?

  2. 你的sql语句,放在命令行能执行吗,表格是student,最好表上数据库,好比 数据库为test, test.student,

更多追问追答
追问

这个是 连接部分。  命令行可以执行 看上面的图片

追答
你这查找的是,你拼接的是name,但是你查找的学号哎
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chenguang5092
2013-06-24 · TA获得超过664个赞
知道小有建树答主
回答量:520
采纳率:50%
帮助的人:453万
展开全部
检查拼接字符串是否有问题
sql+name 注意name应包含引号('')
sql+"'"+name+"'"
追问

这样吗?   可还是 rs。next() 测试结果 为false T_T

追答
检查第三方数据库驱动,使用最新版本试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
开发者经验库
2013-06-24 · TA获得超过383个赞
知道小有建树答主
回答量:465
采纳率:0%
帮助的人:288万
展开全部
你把sql语句放到命令行执行看能不能得到数据。
更多追问追答
追问

没问题 的, 我试了一早上。命令行是对的,但是一回到java 运行 就不行了

追答
System.out.println(sql+name);能够输出吗?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式