我的表可以插入不能查询,求助?

jinjieai4587 2006-06-18 09:00:45
我建在同一数据库中的表都可以插入,如果查询的话有的打印出rs.next()为false,而有的则提示java.lang.NullPointerException
...全文
136 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hellowork 2006-06-21
  • 打赏
  • 举报
回复
不是你的表问题,而是循环问题:

while(rs.next())//记录指针向下移动一个位置
{
out.println(rs.next());//记录指针又向下移动一个位置
}
所以,你读到的记录是当前记录的next的next,这就是为什么只读取2,4,6的原因。

导致错误rs.next()为false的原因是你的while(rs.next())问题,必须使用rs.eof(是否到了记录集末尾)作为循环中止的条件:
while (!rs.EOF) //如果未到记录集末尾则进入循环
{
out.println(rs.fileds(index));//打印当前行的列值
rs.next();//记录指针向下移动一个位置
}
jinjieai4587 2006-06-19
  • 打赏
  • 举报
回复
help
jinjieai4587 2006-06-18
  • 打赏
  • 举报
回复
我用
while(rs.next())
{
out.println(rs.next());
}
监视查询情况
当sql语句为select * from fam_member时打印出的值为true
当sql语句为select * from fam时打印出的值为false
当sql语句为select * from user时打印出的值为fasle

当sql语句为select * from [dbo].[user]时
添加
out.println(rs.getString(1));
out.println(rs.getString(2));
out.println(rs.getString(3));
out.println(rs.getString(4));
out.println(rs.getString(5));
out.println(rs.getString(6));
out.println(rs.getString(7));
out.println(rs.getString(8));
out.println(rs.getString(9));
out.println(rs.getString(10));
out.println(rs.getString(11));
到while循环中
打印出的值为

true 2 街道审批人 jd 0 0 0 1 1 0 1 B
true 4 fc fc 0 0 0 1 1 0 1 D
true 6 admi admi 1 1 1 0 0 0 1 F

而user表里共六行数据,为啥会只查询出了2,4,6行呢
这是为啥
老大们指点一下

user表设计情况
列名 数据类型 长度 允许空(0为不允许)
ID char 10 0
user_name var char 20 0
password char 16 0
add_newuser char 10 0
chan_user char 10 0
set_sys char 10 0
modify_faminfo char 10 0
extend_money char 10 0
recody char 10 1
lookprint char 10 0
privilege char 1 1

user表值
---------------------
1 社区审批人 sq 0 0 0 1 1 0 1 A
2 街道审批人 jd 0 0 0 1 1 0 1 B
3 民政局审批人 ju 0 0 0 1 1 0 1 C
4 fc fc 0 0 0 1 1 0 1 D
5 lr lr 0 0 0 0 0 1 0 E
6 admi admi 1 1 1 0 0 0 1 F
jinjieai4587 2006-06-18
  • 打赏
  • 举报
回复
有的表又可以查询,出现三种不同的情况都是用select * from fam_member类型的sql语句查询全部数据

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧