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

📄 resjframe.java

📁 java开发的数据库
💻 JAVA
字号:
/*
 * ResJFrame.java
 *
 * Created on 2006年5月26日, 上午8:05
 */

package stucontrol;
import java.sql.*;
import java.util.*;
import java.awt.*;
import javax.swing.*;
/**
 *
 * @author  jjk
 */
public class ResJFrame extends javax.swing.JFrame {
    
    /** Creates new form ResJFrame */
    public ResJFrame() {
        initComponents();
        
    }
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc=" 生成的代码 ">//GEN-BEGIN:initComponents
    private void initComponents() {
        jPanel1 = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        jComboBox1 = new javax.swing.JComboBox();
        jTextField1 = new javax.swing.JTextField();
        jButton1 = new javax.swing.JButton();
        jPanel2 = new javax.swing.JPanel();

        jLabel1.setText("\u67e5\u8be2\u65b9\u5f0f\uff1a");

        jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "\u59d3\u540d", "\u5b66\u53f7", "\u5e74\u7ea7", "\u73ed\u7ea7" }));
        jComboBox1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jComboBox1ActionPerformed(evt);
            }
        });

        jButton1.setText("\u786e\u5b9a");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        org.jdesktop.layout.GroupLayout jPanel1Layout = new org.jdesktop.layout.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .add(jLabel1)
                .add(24, 24, 24)
                .add(jComboBox1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 77, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(jTextField1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 125, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 16, Short.MAX_VALUE)
                .add(jButton1)
                .add(23, 23, 23))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel1Layout.createSequentialGroup()
                .addContainerGap(23, Short.MAX_VALUE)
                .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(jLabel1)
                    .add(jButton1)
                    .add(jComboBox1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(jTextField1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );
        getContentPane().add(jPanel1, java.awt.BorderLayout.NORTH);

        org.jdesktop.layout.GroupLayout jPanel2Layout = new org.jdesktop.layout.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(0, 400, Short.MAX_VALUE)
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(0, 242, Short.MAX_VALUE)
        );
        getContentPane().add(jPanel2, java.awt.BorderLayout.CENTER);

        pack();
    }// </editor-fold>//GEN-END:initComponents
  public void init(){
    String url = "jdbc:odbc:stu"; 
String username = ""; 
String password = ""; 
//加载驱动程序以连接数据库 

try { 
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" ); 
connection = DriverManager.getConnection( 
url, username, password ); 
} 

//捕获加载驱动程序异常 
catch ( ClassNotFoundException cnfex ) { 
System.err.println( 
"装载 JDBC/ODBC 驱动程序失败。" ); 
cnfex.printStackTrace(); 
System.exit( 1 ); // terminate program 
} 

//捕获连接数据库异常 
catch ( SQLException sqlex ) { 
System.err.println( "无法连接数据库" ); 
sqlex.printStackTrace(); 
System.exit( 1 ); // terminate program 
} 
    
    }
    private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jComboBox1ActionPerformed
// TODO 将在此处添加您的处理代码:
          if(jComboBox1.getSelectedIndex()==1)
            test="学号";
        else if(jComboBox1.getSelectedIndex()==2)
            test="年级";
        else if(jComboBox1.getSelectedIndex()==3)
            test="班级";
        else test="姓名";
    }//GEN-LAST:event_jComboBox1ActionPerformed

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
// TODO 将在此处添加您的处理代码:
        init();
        getTable();
    }//GEN-LAST:event_jButton1ActionPerformed
    
    private void getTable() 
{ 
try { 

//执行SQL语句 
//String query = inputQuery.getText(); 
    
  //String query="select packid,comname,total,type,wdate,gdate ,ji,reason,pchl from pact where "+test+"='"+jTextField1.getText()+"'";
 String query="select * from stu where "+test+ "='"+jTextField1.getText()+"'";
statement = connection.createStatement(); 
resultSet = statement.executeQuery( query ); 
int row=resultSet.getRow();
System.out.println("row="+row);
//在表格中显示查询结果 
displayResultSet( resultSet ); 
} 
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 { 

//获取字段的名称 
ResultSetMetaData rsmd = rs.getMetaData(); 
for ( int i = 1; i <= rsmd.getColumnCount(); ++i ) 
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); 

//刷新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; 
} 
    /**
     * @param args the command line arguments
     */
/*
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new ResJFrame().setVisible(true);
            }
        });
    }*/
    
    // 变量声明 - 不进行修改//GEN-BEGIN:variables
    private javax.swing.JButton jButton1;
    private javax.swing.JComboBox jComboBox1;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JTextField jTextField1;
    // 变量声明结束//GEN-END:variables
         private Connection connection; 
     private Statement statement; 
     private ResultSet resultSet; 
     private ResultSetMetaData rsMetaData; 
     private String test="姓名";
     private JTable table;
}

⌨️ 快捷键说明

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