当前位置: 代码迷 >> Java相关 >> 这个JTable为什么得到列名总是第一次查询的列名
  详细解决方案

这个JTable为什么得到列名总是第一次查询的列名

热度:239   发布时间:2006-11-09 20:42:40.0
这个JTable为什么得到列名总是第一次查询的列名

这个是Connection类
import java.sql.*;

public class MyCon
{
Connection con;
Statement st;
ResultSet rs;
//关闭连接方法
public void close_db()
{
try {
rs.close();
st.close();
con.close();
}
catch (Exception ex)
{
ex.printStackTrace();
}

}
public void myConnection()
{
try
{
//载入驱动
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
//建立连接
con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;database=pubs","sa","majkandy");
}
catch (Exception ex)
{
ex.printStackTrace();
}

}
//查询语句方法
public ResultSet SQLSelect(String sql)
{
try
{
st = con.createStatement();
rs = st.executeQuery(sql);
}
catch (SQLException ex)
{
ex.printStackTrace();
}
return rs;//返回ResultSet
}
}

这个是返回DefaultTableModel类
import javax.swing.*;
import javax.swing.table.*;
import java.util.Vector;
import java.sql.*;

public class MyTable
{
ResultSet rs;
ResultSetMetaData rsmd;
DefaultTableModel myDefaultTableModel;
Vector vRow = new Vector();
Vector vCol = new Vector();
MyCon mycon = new MyCon();

public DefaultTableModel myModel(String sql) {
myDefaultTableModel = new DefaultTableModel();
try {
mycon.myConnection();
//执行SQL查询语句
rs = mycon.SQLSelect(sql);
//定义列名
rsmd = rs.getMetaData();
//获得结果集的列数
int col = rsmd.getColumnCount();
for (int i = 1; i <= col; i++) {
//添加结果的列名
vCol.addElement(rsmd.getColumnLabel(i));
//添加Model的列
myDefaultTableModel.addColumn(vCol.get(i - 1));
}
while (rs.next()) {
vRow = new Vector();
for (int i = 1; i <= col; i++) {
vRow.addElement(rs.getString(i));
}
//添加Model的行
myDefaultTableModel.addRow(vRow);
}
}
catch (Exception ex) {
ex.printStackTrace();
}
mycon.close_db();
return myDefaultTableModel; //返回Model
}
}

我在另一个类里面,有输入框,输入SQL的表名,连续查几次之后,得到的JTable列名,总是第一次查询的那个列名,为什么?
高手们帮帮我解决一下

搜索更多相关的解决方案: JTable  列名  查询  

----------------解决方案--------------------------------------------------------

怎么会呢,你更新的时候有没有把新的值传进去


----------------解决方案--------------------------------------------------------
都有啊,当然都有啊,可是就是有这个问题
----------------解决方案--------------------------------------------------------
  相关解决方案