怎样将从数据库读出的数据在JTable中显示出来 使用DefaultTableModel或AbstractTabelModel 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 给你一个完整的例子import javax.swing.*;import java.awt.*;import java.sql.*;import javax.swing.table.*;import java.util.*;import java.awt.event.*;public class Test extends JFrame { private JPanel jPanel1 = new JPanel(); private JScrollPane jScrollPane1; private JTable jTable; public Test() { try { GetTableFromDb gtfd = new GetTableFromDb(); jTable = gtfd.getTable(); jScrollPane1 = new JScrollPane(jTable); jbInit(); } catch(Exception e) { e.printStackTrace(); } } private void jbInit() throws Exception { this.setSize(500,300); this.getContentPane().add(jPanel1, BorderLayout.CENTER); jPanel1.add(jScrollPane1, BorderLayout.CENTER); } /// protected void processWindowEvent(WindowEvent e) { super.processWindowEvent(e); if (e.getID() == WindowEvent.WINDOW_CLOSING) { System.exit(0); } } /// public static void main(String[] args) { Test st = new Test(); st.show(); } ///}/** * 描述:通过查询数据库,取得显示结果数据的数据库表的JScrollPane组件显示 * */class GetTableFromDb{ public GetTableFromDb() { try { /*// 登陆数据库OMT,使用jdbc-odbc桥 String dbUrl = "DbUrl";//所配置的对应数据库的数据源 String user = "UserId";//用户 String password = "password";//口令 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection(dbUrl, user, password); //*/ String address = "jdbc:microsoft:sqlserver://192.168.0.24:1433"; //驱动类型+目标数据库ip+数据库端口 String user="sa";//数据库用户密码 String passwd="alpha";//口令 String database = "pubs";//目标数据库 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");//驱动申明 Connection con = DriverManager.getConnection(address,user,passwd);//建立链接 con.setCatalog(database);//确定目标数据库 Statement stmt = con.createStatement(); String sqlCode = "SELECT top 10 au_id,phone,state FROM authors";//只提取三个字段 ResultSet rs = stmt.executeQuery(sqlCode); Vector vect = new Vector();//用于存放数据记录 vect.removeAllElements();//初始化向量对象 while(rs.next()) {//依次读取数据结果集 Vector rec_vector=new Vector();//从结果集中取数据放入向量rec_vector中 rec_vector.addElement(rs.getString(1)); rec_vector.addElement(rs.getString(2)); rec_vector.addElement(rs.getString(3)); vect.addElement(rec_vector);//向量rec_vector加入向量vect中 } //表列标题 String[] titleStr = {"第一列","第二列","第三列"};//表列标题设定 Vector title = new Vector();//用于存放表列标题 title.removeAllElements(); for(int i=0;i<titleStr.length;i++) { title.addElement(titleStr[i]); } //生成表 jTable = new JTable(vect,title); //释放资源 rs.close(); stmt.close(); con.close(); } catch(Exception e) { System.out.println("GetTableFromDB error:" + e); } } public JTable getTable() { return jTable; } private JTable jTable;//e生成的最终表单} btw:补充一点,使用odbc连接时,那个DbUrl指的是类似DbUrl=jdbc:odbc:TESTDB;其中TESTDB才是目标数据库的数据源 java新手,希望得到指导 问一个关于Fork-Join框架的问题 求教高手了 怎么用JAVA实现模拟点击Flash java虚拟机 关于thinking in java 2 中的com.bruceeckel包在那能找到?? 请问哪里有jb7、jb8 下载??(急) 大家帮我看下我自己练习的代码错在哪了 如何截取字串中的字符串? 有点晕了,这儿为什么有俩"\\" 在jbuilder中,关于继承问题 我用jar打包文件出错,信息如下:
import javax.swing.*;
import java.awt.*;
import java.sql.*;
import javax.swing.table.*;
import java.util.*;
import java.awt.event.*;public class Test extends JFrame {
private JPanel jPanel1 = new JPanel();
private JScrollPane jScrollPane1;
private JTable jTable;
public Test() {
try {
GetTableFromDb gtfd = new GetTableFromDb();
jTable = gtfd.getTable();
jScrollPane1 = new JScrollPane(jTable);
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
private void jbInit() throws Exception {
this.setSize(500,300);
this.getContentPane().add(jPanel1, BorderLayout.CENTER);
jPanel1.add(jScrollPane1, BorderLayout.CENTER);
}
///
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
///
public static void main(String[] args) {
Test st = new Test();
st.show();
}
///
}
/**
* 描述:通过查询数据库,取得显示结果数据的数据库表的JScrollPane组件显示
* */class GetTableFromDb{
public GetTableFromDb() {
try {
/*// 登陆数据库OMT,使用jdbc-odbc桥
String dbUrl = "DbUrl";//所配置的对应数据库的数据源
String user = "UserId";//用户
String password = "password";//口令
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection(dbUrl, user, password);
//*/
String address = "jdbc:microsoft:sqlserver://192.168.0.24:1433";
//驱动类型+目标数据库ip+数据库端口
String user="sa";//数据库用户密码
String passwd="alpha";//口令
String database = "pubs";//目标数据库
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");//驱动申明
Connection con = DriverManager.getConnection(address,user,passwd);//建立链接
con.setCatalog(database);//确定目标数据库 Statement stmt = con.createStatement();
String sqlCode = "SELECT top 10 au_id,phone,state FROM authors";//只提取三个字段
ResultSet rs = stmt.executeQuery(sqlCode);
Vector vect = new Vector();//用于存放数据记录
vect.removeAllElements();//初始化向量对象
while(rs.next()) {//依次读取数据结果集
Vector rec_vector=new Vector();//从结果集中取数据放入向量rec_vector中
rec_vector.addElement(rs.getString(1));
rec_vector.addElement(rs.getString(2));
rec_vector.addElement(rs.getString(3));
vect.addElement(rec_vector);//向量rec_vector加入向量vect中
}
//表列标题
String[] titleStr = {"第一列","第二列","第三列"};//表列标题设定
Vector title = new Vector();//用于存放表列标题
title.removeAllElements();
for(int i=0;i<titleStr.length;i++) {
title.addElement(titleStr[i]);
}
//生成表
jTable = new JTable(vect,title); //释放资源
rs.close();
stmt.close();
con.close();
}
catch(Exception e) {
System.out.println("GetTableFromDB error:" + e);
}
}
public JTable getTable() {
return jTable;
}
private JTable jTable;//e生成的最终表单
}
DbUrl=jdbc:odbc:TESTDB;其中TESTDB才是目标数据库的数据源