| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1316 人关注过本帖
标题:[求助]jdbc连接后的输出,急,等待中!
只看楼主 加入收藏
神经塔
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:1987
专家分:4
注 册:2006-7-1
收藏
得分:0 

我想在控制台生成表格!


[shadow=255,red,2]待到秋来九月八,我花开时百花杀。冲天香阵透长安,满城尽是黄金甲。 [/shadow]
2006-10-09 09:17
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
生成什么样子的,有表头的表格?
例 如:
id password age address
1 34 78 asdfdf
2 2222 23 sssss


这样子的?

可惜不是你,陪我到最后
2006-10-09 09:34
神经塔
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:1987
专家分:4
注 册:2006-7-1
收藏
得分:0 
恩,对啊!是要有表格的!快点啊,我一直在等你的回答呢!你先不要去水区灌水了!拜托!谢了!

[此贴子已经被作者于2006-10-9 9:40:00编辑过]



[shadow=255,red,2]待到秋来九月八,我花开时百花杀。冲天香阵透长安,满城尽是黄金甲。 [/shadow]
2006-10-09 09:38
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
你一楼的就是对的啊,它输入的不就是表格的形式吗?
如果你想得到表头的信息,你可以用这个方法,先把表头打印出来
先得到ResultSet rs;
然后ResultSetMetaData rsmd = rs.getMetaData();
然后用一个循环把表头输出
for(int i=0;i<rsmd.getColumnCount();i++){
System.out.print(rsmd.getColumnName(i+1)+"\t\t");
}
System.out.println();
然后输出你的数据就可以了
while(rs.next){
for(int i=0;i<rsmd.getColumnCount();i++){
System.out.print(rs.getString(i+1)+"\t\t");
}
System.out.println();
}
你试试看,能不能实现你想要的效果

可惜不是你,陪我到最后
2006-10-09 09:45
神经塔
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:1987
专家分:4
注 册:2006-7-1
收藏
得分:0 

呵呵,我是想在数据的四周加上边框,即所谓的表格


[shadow=255,red,2]待到秋来九月八,我花开时百花杀。冲天香阵透长安,满城尽是黄金甲。 [/shadow]
2006-10-09 09:49
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
那也不难啊,判断一下就可以了,如果是最左的数据,则加一个左边框
如果是最后一条数据则加一个下边框.
如此类似的
MySQL不就是这样显示的吗?

可惜不是你,陪我到最后
2006-10-09 09:51
神经塔
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:1987
专家分:4
注 册:2006-7-1
收藏
得分:0 
关键是我还不知道怎么加左右边框啊!谢了,我在等啊!

[shadow=255,red,2]待到秋来九月八,我花开时百花杀。冲天香阵透长安,满城尽是黄金甲。 [/shadow]
2006-10-09 09:53
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
那你等等啊,我先自己试验一下,呵呵

可惜不是你,陪我到最后
2006-10-09 09:54
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:account","sa","123456");
Statement sta=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs=sta.executeQuery("select * from serverIDINFO");
ResultSetMetaData rsmd=rs.getMetaData();
//先得到总共有多少列
int cols=rsmd.getColumnCount();
//再得到总共有多少条数据
int all=0;
while(rs.next()){
all++;
}
rs.beforeFirst();
for(int i=0;i<cols;i++){
System.out.print("----------------");
}
System.out.println();
for(int i=0;i<cols;i++){
String name=rsmd.getColumnName(i+1);
if(name.length()<8)
System.out.print("|\t"+name+"\t");
else
System.out.print("|"+name+"\t");
if(i==cols-1){
System.out.println("|");
}
}
for(int i=0;i<cols;i++){
System.out.print("----------------");
}
System.out.println();
for(int i=0;i<all;i++){
rs.next();
for(int j=0;j<cols;j++){
System.out.print("|\t"+rs.getString(j+1).trim()+"\t");
if(j==cols-1)
System.out.println("|");
}
for(int k=0;k<cols;k++){
System.out.print("----------------");
}
System.out.println();
}


试试这个方法先

可惜不是你,陪我到最后
2006-10-09 10:14
神经塔
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:1987
专家分:4
注 册:2006-7-1
收藏
得分:0 
恩,这个方法是可以的,我已经试过了!不过我还想再完善一下,就是在输出的时候用纯表格的边框框起来~!

[shadow=255,red,2]待到秋来九月八,我花开时百花杀。冲天香阵透长安,满城尽是黄金甲。 [/shadow]
2006-10-09 10:24
快速回复:[求助]jdbc连接后的输出,急,等待中!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016881 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved