谁能帮我解决这个问题,四个贴子一块给分!!!决不食言!!!!!!!

jilongge 2002-09-02 10:03:42
我通过程序连接上了Oracle数据库,也得到了记录集,可就是不能取出数据,全部为空!!!!为什么????程序如下:

import java.sql.*;

public class OracleTest {
public static void main(String[] args) {
try{
Class.forName ("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection ("jdbc:oracle:thin:@host:1521:uc817","user", "pass");
Statement s=conn.createStatement();
System.out.println("Ok!");
String query="select marc.holdingtable.userid from marc.holdingtable where id<100";
ResultSet r=s.executeQuery(query);
int num=0;
String str=new String();
while(r.next()){
str=r.getString("userid");
System.out.println("str" + str);
System.out.println(++num);
}
}
catch(Exception e){
e.printStackTrace();
}
}
}

谁能解决这个问题四个帖子一块给分。
Email:wanghg@calis.edu.cn

...全文
24 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
clamp_chen 2002-09-02
  • 打赏
  • 举报
回复
java.sql.RecordSet对象对于不同的字段类型,要用不同的get语句,否则是取不出值的

你的userid应该是数值型的,需要用getInt或者getLong才能取出值

wpltt 2002-09-02
  • 打赏
  • 举报
回复
str=r.getString(1);

用这个试试看,1表示userid在结果集中是第一个被取出的字段。

另外,1要保证你的程序没出异常,你的问题很象是出异常了没处理的情况,
2要保证你的数据库里有数据,也许你的schema tablename column啥的写错了?
black_snail 2002-09-02
  • 打赏
  • 举报
回复
Give Alias to your column
select marc.holdingtable.userid "userid" from marc.holdingtable
developer2002 2002-09-02
  • 打赏
  • 举报
回复
可以看一下oracle提供的jdbc的文档,要用oracle提供的结果集对象。sorry,我只能说这么多,我不懂java
sun9989 2002-09-02
  • 打赏
  • 举报
回复
gz

收藏
luckysxn 2002-09-02
  • 打赏
  • 举报
回复
不太清楚,查过再回答吧。
kmlinda 2002-09-02
  • 打赏
  • 举报
回复
试试Connection conn = DriverManager.getConnection ("jdbc:oracle:thin:@host:1521:uc817","marc", "marc's password");
之后
String query="select holdingtable.userid from holdingtable where id<100";
yuanscar 2002-09-02
  • 打赏
  • 举报
回复
我在vc里遇到过这样的问题,不知道vc和java是不是一样。那里面记录集需要有字段的定义,有的连接以后就可以自动定义好,但是有的需要自己手工定义。奇怪!

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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