如何在JAVA中以表格形式显示SQL查询结果?

scanx.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){t... scanx.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn=DriverManager.getConnection("jdbc:odbc:DBtest","DBUser","DBUser");
Statement stmt=conn.createStatement(/*ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY*/);
ResultSet rs=stmt.executeQuery("select * from Reader where BName='%"+Tbname+"%'");//Type='%"+Ttype+"%'and
ResultSetMetaData rsmd=rs.getMetaData();
int columns=rsmd.getColumnCount();
rs.last();
int rows=rs.getRow();
String[] colNames = {""};
colNames=new String[columns];
Object[][] cells={{""},{""}};
cells=new Object[rows+1][columns];
rs.first();
for(int i=0;i<columns;i++)
{
colNames[i]=rsmd.getColumnLabel(i+1);
cells[0][i]=rsmd.getColumnLabel(i+1);
}
rs.beforeFirst();
for(int i=1;i<=rows;i++){
if(rs.next()){
for(int j=0;j<columns;j++){
cells[i][j]=rs.getString(j+1);
}
}
}

JTable Table = new JTable(cells,colNames);
JFrame R = new JFrame();
R.add(Table);
R.setVisible(true);
R.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

catch(Exception d){};

}

});
做在检索键上的动作监视器 想把从SQL里面搜索出的结果在JTable中显示出来
我写的代码是这样的 编译没有错 可能貌似哪的算法不对 死活不显示新窗口R
猜测是某个算法进入死循环了...可是自己又查不出来 只好麻烦大家了....
小弟先谢过了 问题解决追加100分再

大问题解决了 是我查询条件打错了...=.=

现在有个新问题...
ResultSet rs=stmt.executeQuery("select * from Reader where BName='%"+Tbname+"%'");
这句话最后那里有什么错吗 BName='字符串'就可以检索出结果 但是这样写变量名就不行...
Tbname时 final TextFaild Tbname这样定义的....
展开
 我来答
百度网友533e2971e
2009-06-24 · TA获得超过199个赞
知道小有建树答主
回答量:82
采纳率:0%
帮助的人:74.6万
展开全部
1. final声明的变量,如果第一次不赋值,那末只能在其后的使用过程中赋值一次;如果声明的同时已经赋值,那末其后将不能再对其进行修改了。
2. 那个SQL语句应该写成:
"select * from Reader where BName = '"+Tbname+"'"

或者

"select * from Reader where BName like '%"+Tbname+"%'"
x358011055
2009-06-23 · TA获得超过253个赞
知道小有建树答主
回答量:234
采纳率:55%
帮助的人:166万
展开全部
使用javax.swing.table.DefaultTableModel。

DefaultTableModel model = new DefaultTableModel(...);
Table.setModel(model);
model.addRow(...);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2009-06-23
展开全部
SQL 语法错了,那两个%号是通配符,去掉它。或者将=号改成 like
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式