⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 java.txt

📁 显示数据库中的表用java(完整)- - *该程序代码用到了前面说的database.java的数据库连接池的类
💻 TXT
字号:
显示数据库中的表用java(完整)- -
                                       
*该程序代码用到了前面说的database.java的数据库连接池的类

---------------------------------------------------------------------------------------
package com.test;
import com.test.database;//导入的数据库连接池的那个类;
import java.sql.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class Untitled1 extends JFrame{
private JTable table;//定义一个表控件;
private JTextArea inputQuery;//定义一个多文本显示框,用来输入SQL语句;
private JButton submitQuery;//定义一个按钮用来执行查询;
private ResultSet resultSet;
//构件器
  public Untitled1(){
    super( "输入SQL语句,按提交按钮查看结果。" );
    String test="SELECT * FROM XIAOXING";//定义个一个字符串存放sql语句;
    inputQuery = new JTextArea( test, 4, 30 );//把存放SQL语句的字符串放入控件中,定义该控件的宽高;
    submitQuery = new JButton( "查询" );

//Button的事件
   submitQuery.addActionListener(
    new ActionListener() {
   public void actionPerformed( ActionEvent e )
    {
            getTable();
    } 
 }
 );
            
            
     JPanel topPanel = new JPanel();//定义一个面版
     topPanel.setLayout( new BorderLayout() );//把布局转换器设置成上下左右中的形式
     topPanel.add( new JScrollPane( inputQuery), BorderLayout.CENTER 
);//将"输入查询"编辑框布置到 "CENTER"
     
     topPanel.add( submitQuery, BorderLayout.SOUTH );//将"提交查询"按钮布置到 "SOUTH"
     table = new JTable();
     Container c = getContentPane();//定义一个容器
     c.setLayout( new BorderLayout() );//设置容器的布局;
     c.add( topPanel, BorderLayout.NORTH );//将"topPanel"编辑框布置到 "NORTH"
     c.add( table, BorderLayout.CENTER );//将"table"编辑框布置到 "CENTER"
     getTable();
     setSize( 500, 300 );
     show();//显示Form
 }
 
  private void getTable()
{
try {
//执行SQL语句
String query = inputQuery.getText();//获得控件中的内容;
resultSet = database.getSimpleRs(database.getConn() ,query) ;//连接并查询数据库;
displayResultSet( resultSet );//放到displayResultSet方法中处理,在表格中显示查询结果
}
catch ( SQLException sqlex ) {
sqlex.printStackTrace();
}
}

private void displayResultSet( ResultSet rs )
  throws SQLException
  {
  boolean moreRecords = rs.next(); //定位到达第一条记录

//如果没有记录,则提示一条消息
  if ( ! moreRecords ) {
  JOptionPane.showMessageDialog( this,
  "结果集中无记录" );
  setTitle( "无记录显示" );
  return;
  }
  Vector columnHeads = new Vector();
  Vector rows = new Vector();
  try {

 /*获取字段的名称
  getMetaData() ResultSet 的列编号、类型和特性由 getMetaData 方法提供。 
  ResultSetMetaData 对象可以用于查找 ResultSet 中的列的类型和特性。
 */
  ResultSetMetaData rsmd = rs.getMetaData();
 
 //getColumnCount获得 ResultSet 中的列数
  for ( int i = 1; i <= rsmd.getColumnCount(); ++i )
  
/*
 getCatalogName(int) 获得列的表的目录名。
 然后用vector类中的addElement方法添加
*/
  columnHeads.addElement( rsmd.getColumnName( i ) );
//获取记录集
  do {
  rows.addElement( getNextRow( rs, rsmd ) );
  } while ( rs.next() );
//在表格中显示查询结果
  table = new JTable( rows, columnHeads );
  JScrollPane scroller = new JScrollPane( table );
  Container c = getContentPane();
  c.remove(1);
  c.add( scroller, BorderLayout.CENTER );
//刷新Table
  c.validate();
  }
  catch ( SQLException sqlex ) {
  sqlex.printStackTrace();
  }
  }
  private Vector getNextRow( ResultSet rs,
  ResultSetMetaData rsmd )
  throws SQLException
  {
  Vector currentRow = new Vector();
  for ( int i = 1; i <= rsmd.getColumnCount(); ++i )
  currentRow.addElement( rs.getString( i ) );
//返回一条记录
  return currentRow;
  }
  public void shutDown()
  {
  try {
//断开数据库连接
   database.kill(resultSet);
  }
  catch ( Exception sqlex ) {
  System.err.println( "Unable to disconnect" );
  sqlex.printStackTrace();
  }
  }
  public static void main( String args[] )
 {
 final Untitled1 app =
 new Untitled1();
 app.addWindowListener(
 new WindowAdapter() {
 public void windowClosing( WindowEvent e )
 {
 app.shutDown();
 System.exit( 0 );
 }
 }
 );
 }
}
- 作者: 小兴 2005年08月9日, 星期二 14:27 Trackback
你可以使用这个链接引用该篇日志 http://publishblog.blogdriver.com/blog/tb.b?diaryID=882540 
回复
     发布人:邮箱:
      主 页:
      评论内容:
           
                        
2003-2004 BLOGDRIVER.COM All rights reserved

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -