📄 personal_query.java
字号:
import java.awt.*;
import java.sql.*;
import java.util.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;
import java.sql.PreparedStatement;
import javax.swing.*;
public class Personal_query extends JFrame implements ActionListener
{
Connection connection;
Statement statement;
ResultSet resultSet;
ResultSetMetaData rsMetaData;
GridBagLayout gbl=new GridBagLayout();
GridBagConstraints gbc=new GridBagConstraints();
JTable table;
JLabel tiaojian;
JTextField tf_tiaojian;
//Choice choice;
JButton chaxun,fanhui;
JPanel topanel;
String query,shuru;
public Personal_query()
{
super.setSize(800,400);
super.setLocation(180,80);
String url="jdbc:odbc:StudentScore";
String username="sa";
String password="";
topanel=new JPanel();
tiaojian=new JLabel("请输入学号:");
tf_tiaojian=new JTextField(5);
chaxun=new JButton("查询");
chaxun.addActionListener(this);
//dayin=new JButton("打印");
//dayin.addActionListener(this);
fanhui=new JButton("返回");
fanhui.addActionListener(this);
set(0,0,1,1,topanel,tiaojian);set(1,0,1,1,topanel,tf_tiaojian);set(2,0,1,1,topanel,chaxun);set(3,0,1,1,topanel,fanhui);
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);
}
catch(SQLException sqlex)
{
System.err.println("无法连接数据库");
//sqlex.printStackTrace();
System.exit(1);
}
table=new JTable();
Container c=getContentPane();
c.add(topanel,BorderLayout.NORTH);
c.add(table,BorderLayout.CENTER);
//String _query="select * from score";
//getTable(_query);
}
public void set(int x,int y,int w,int h,JPanel com,Component zujian)
{
gbc.anchor=GridBagConstraints.NORTH;
gbc.gridx=x;
gbc.gridy=y;
gbc.gridwidth=w;
gbc.gridheight=h;
gbl.setConstraints(com, gbc);
com.add(zujian);
}
public void actionPerformed(ActionEvent e)
{
Object obj=e.getSource();
if(obj==chaxun)
{
shuru=tf_tiaojian.getText().trim();
query="select score.* from score,student where score.student_no=student.student_no and student.student_no="+shuru;
getTable(query);
}
if(obj==fanhui)
{
this.dispose();
Admin_manage admin=new Admin_manage();
admin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
admin.setVisible(true);
}
}
private void getTable(String query)
{
try
{
statement =connection.createStatement();
resultSet=statement.executeQuery(query);
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,BorderLayout.CENTER);
//刷新Table
c.validate();
}
catch(SQLException sql)
{
// sql.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
{
//断开数据库连接
connection.close();
}
catch(SQLException sqlex)
{
System.err.println( "Unable to disconnect" );
//sqlex.printStackTrace();
}
}
public static void main(String[] args)
{
Personal_query person=new Personal_query();
person.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
person.setVisible(true);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -