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

来源:百度知道 编辑:UC知道 时间:2024/06/22 17:59:35
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++)

1. final声明的变量,如果第一次不赋值,那末只能在其后的使用过程中赋值一次;如果声明的同时已经赋值,那末其后将不能再对其进行修改了。
2. 那个SQL语句应该写成:
"select * from Reader where BName = '"+Tbname+"'"

或者

"select * from Reader where BName like '%"+Tbname+"%'"

使用javax.swing.table.DefaultTableModel。

DefaultTableModel model = new DefaultTableModel(...);
Table.setModel(model);
model.addRow(...);

SQL 语法错了,那两个%号是通配符,去掉它。或者将=号改成 like