package alpha;
package alpha;
import java.sql.*;
import javax.swing.*;
import javax.swing.table.*;
import java.util.*;
/**
 * 描述:通过查询数据库,取得显示结果数据的数据库表的JScrollPane组件显示
 * */public 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="";//口令
      String database = "TESTDB";//目标数据库
      Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");//驱动申明
      Connection con = DriverManager.getConnection(address,user,passwd);//建立链接
      con.setCatalog(database);//确定目标数据库      Statement stmt = con.createStatement();
      String sqlCode = "SELECT UserID,UserName,UserDepat FROM UserInfo";//只提取三个字段
      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生成的最终表单
}package alpha;
import javax.swing.*;
import java.awt.*;
/**
 * main函数入口所在class,是显示一个界面 
 **/
public class Test extends JFrame {
  private JPanel jPanel1 = new JPanel();
  private JScrollPane jScrollPane1;//容器
  private JTable jTable;//表单
  public Test() {
    try {
      GetTableFromDb gtfd = new GetTableFromDb();//调用数据库连接class
      jTable = gtfd.getTable();//取得结果表数据
      jScrollPane1 = new JScrollPane(jTable);//放入容器
      jbInit();
    }
    catch(Exception e) {
      e.printStackTrace();
    }
  }
  private void jbInit() throws Exception {
    this.setSize(400,300);//设置显示界面大小
    this.getContentPane().add(jPanel1, BorderLayout.CENTER);
    jPanel1.add(jScrollPane1, BorderLayout.CENTER);
  }
  ///main方法入口
  public static void main(String[] args) {
    Test st = new Test();
    st.show();
  }
  ///
}在jb里面建立一个package alpha,添加上面两个class,运行时运行Test.java即可
当然要你jb连接数据库已经连好,或者dos下执行classpath设置好了,注意使用驱动访问,若取得的是中文,很有可能是乱码,可以如下转:
从数据库中读出后转:即令str=rs.getString(1);,再转即可
str=new String (str.getBytes("ISO-8859-1"),"gb2312");
另外,还可以选用jdbc-odbc的连接方式,此种方式无须担心乱码问题。