我正在做一个 学生信息管理程序 但是效果始终出不来!我检查程序很多遍了,但是没有发现问题!请各为高手指教!帮帮忙,谢谢了!
import javax.swing.UIManager;
import java.awt.*;
import java.awt.event.*;
import java.lang.*;
import java.lang.Object;
import java.sql.*;
import java.util.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.table.*;
//import com.sun.jlex.internal.CSet;
public class StuAddQuerySysApp{
private boolean packFrame=false;
public StuAddQuerySysApp(){
StuAddQuerySysFrame frame=new StuAddQuerySysFrame();
if(packFrame){
frame.pack();
}
else{
frame.validate();
}
Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize=frame.getSize();
if(frameSize.height>screenSize.height){
frameSize.height=screenSize.height-100;
}
if(frameSize.width>screenSize.width){
frameSize.width=screenSize.width;
}
frame.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);
frame.setVisible(true);
}
public static void main(String[] args){
try{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch(Exception e){
e.printStackTrace();
}
new StuAddQuerySysApp();
}
}
class StuAddQuerySysFrame extends JFrame{
private JPanel contentPane;
private FlowLayout xYLayout1 = new FlowLayout();
private Label label1 = new Label();
private TextField stunumField = new TextField(10);
private TextField nameField = new TextField(15);
private Label label2 = new Label();
private TextField ageField = new TextField(8);
private Label label3 = new Label();
private TextField sexField = new TextField(8);
private Label label4 = new Label();
private TextField departmentField = new TextField(18);
private Label label5 = new Label();
private TextField teleField = new TextField(12);
private Label label6 = new Label();
private TextField emailField = new TextField(18);
private Label label7 = new Label();
private Button addrecordButton = new Button();
private Button deleteButton = new Button();
private Button refreshButton = new Button();
private Button stunuqueryButton = new Button();
private Button allrecordButton = new Button();
Vector vector;
String title[] = {
"学号", "姓名", "年龄", "性别", "系名", "电话", "email地址"};
Connection connection = null;
ResultSet rSet = null;
Statement statement = null;
AbstractTableModel tm;
private Statement statment;
private String sql1;
private Object stament;
private Object departmenField;
private String sqll;
private Object departementField;
private PopupMenu stunumqueryButton;
public StuAddQuerySysFrame() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch (Exception e) {
e.printStackTrace();
}
}
private void jbInit() throws Exception {
contentPane = (JPanel)this.getContentPane();
label1.setText("学号");
contentPane.setLayout(xYLayout1);
this.setSize(new Dimension(550, 350));
this.setTitle("学生地址表查询系统");
label2.setText("姓名");
label3.setText("年龄");
label4.setText("性别");
label5.setText("系别");
label6.setText("电话");
label7.setText("EMAIL地址");
addrecordButton.setLabel("添加");
deleteButton.setLabel("删除");
refreshButton.setLabel("更新");
stunumqueryButton.setLabel("学号查询");
allrecordButton.setLabel("全部记录");
addrecordButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
addrecordButton_actionPerformed(e);
}
});
deleteButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
deleteButton_actionPerformed(e);
}
});
refreshButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
refreshButton_actionPerformed(e);
}
});
stunumqueryButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
stunumqueryButton_actionPerformed(e);
}
});
allrecordButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
allrecordButton_actionPerformed(e);
}
});
contentPane.add(label1);
contentPane.add(stunumField);
contentPane.add(label2);
contentPane.add(nameField);
contentPane.add(label3);
contentPane.add(ageField);
contentPane.add(label4);
contentPane.add(sexField);
contentPane.add(label5);
contentPane.add(departmentField);
contentPane.add(label6);
contentPane.add(teleField);
contentPane.add(label7);
contentPane.add(emailField);
contentPane.add(addrecordButton);
contentPane.add(deleteButton);
contentPane.add(refreshButton);
contentPane.add(stunumqueryButton);
contentPane.add(allrecordButton);
createtable();
}
void createtable() {
JTable table;
JScrollPane scroll;
vector = new Vector();
tm = new AbstractTableModel() {
public int getColumnCount() {
return title.length;
}
public int getRowCount() {
return vector.size();
}
public Object getValueAt(int row, int column) {
if (!vector.isEmpty()) {
return ( (Vector) vector.elementAt(row)).elementAt(column);
}
else {
return null;
}
}
public void setValueAt(Object value, int row, int column) {}
public String getColumnName(int column) {
return title[column];
}
public Class getColumnClass(int c) {
return getValueAt(0, c).getClass();
}
public boolean isCellEditable(int row, int column) {
return false;
}
};
table = new JTable(tm);
table.setToolTipText("Display Query Result");
table.setAutoResizeMode(table.AUTO_RESIZE_OFF);
table.setCellSelectionEnabled(false);
table.setShowHorizontalLines(true);
table.setShowVerticalLines(true);
scroll = new JScrollPane(table);
scroll.setPreferredSize(new Dimension(530, 200));
contentPane.add(scroll);
}
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
void addrecordButton_actionPerformed(ActionEvent e) {
try {
Class.forName("sun.jdbc.obdc.JdbcOdbcDriover");
String url = "jdbc:odbc:student";
connection = DriverManager.getConnection(url);
statement = connection.createStatement();
String sq11 = "insert into studentbase(学号,姓名,年龄,性别,系别)values(" +
Integer.parseInt(stunumField.getText()) + ",'" + nameField.getText() +
"'," + Integer.parseInt(ageField.getText()) + ".'" + sexField.getText() +
"','" + departmentField.getText() + "')";
String sq12 = "insert into studentbase(电话,email地址,学号)values'" +
teleField.getText() + "'," + emailField.getText() + "'," +Integer.parseInt(stunumField.getText()) + ")";
statment.executeUpdate(sq12);
statment.executeUpdate(sq11);
stunumField.setText("");
nameField.setText("");
ageField.setText("");
sexField.setText("");
departmentField.setText("");
teleField.setText("");
emailField.setText("");
}
catch (SQLException ex) {
System.out.println("/nERROR:-----SQLException-----/n");
while (ex != null) {
System.out.println("Message: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("ErrorCode: " + ex.getErrorCode());
ex = ex.getNextException();
}
}
catch (Exception ex) {
ex.printStackTrace();
}
finally {
try {
if (statement != null) {
statement.close();
}
if (connection != null) {
connection.close();
}
}
catch (SQLException ex) {
System.out.println("/nERROR:-----SQLException-----/n");
System.out.println("Message: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("ErrorCode: " + ex.getErrorCode());
}
}
}
void deleteButton_actionPerformed(ActionEvent e) {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:student";
connection = DriverManager.getConnection(url);
statement = connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String sql = "select * from studentbase where 学号=" +
Integer.parseInt(stunumField.getText()) + " ";
rSet = statement.executeQuery(sql);
if (rSet.next() == false) {
JOptionPane msg = new JOptionPane();
JOptionPane.showMessageDialog(StuAddQuerySysFrame.this, "数据库中没有你删除的学号",
"数据库中没有你删除的学号!", 1);
}
else {
String sql1 = "delete from studentbase where 学号=" +
Integer.parseInt(stunumField.getText()) + " ";
statement.executeUpdate(sqll);
String sql2 = "delete from studebtaddress where 学号=" +
Integer.parseInt(stunumField.getText()) + " ";
statement.executeUpdate(sql2);
stunumField.setText("");
nameField.setText("");
ageField.setText("");
sexField.setText("");
departmentField.setText("");
teleField.setText("");
emailField.setText("");
}
}
catch (SQLException ex) {
System.out.println("/nERROR:-----SQLException-----/n");
while (ex != null) {
System.out.println("Message: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("ErrorCode: " + ex.getErrorCode());
ex = ex.getNextException();
}
}
catch (Exception ex) {
ex.printStackTrace();
}
finally {
try {
if (statement != null) {
statement.close();
}
if (connection != null) {
connection.close();
}
}
catch (SQLException ex) {
System.out.println("/nERROR:-----SQLException-----/n");
System.out.println("Message: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("ErrorCode: " + ex.getErrorCode());
}
}
}
void refreshButton_actionPerformed(ActionEvent e) {
try {
Class.forName("sun.jdbc.Odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:student";
connection = DriverManager.getConnection(url);
statement = connection.createStatement();
String sqll = "update studentbase set 姓名='" + nameField.getText() +
"',年龄=" + Integer.parseInt(ageField.getText()) + ",性别='" +
sexField.getText() + "',系别='" + departmentField.getText() +
"' where 学号=" + Integer.parseInt(stunumField.getText()) + " ";
statement.executeUpdate(sql1);
String sql2 = "update studentaddress set 电话='" + teleField.getText() +
"',email 地址='" + emailField.getText() + "' where 学号=" +
Integer.parseInt(stunumField.getText()) + " ";
statement.executeUpdate(sql2);
stunumField.setText(" ");
nameField.setText(" ");
ageField.setText(" ");
sexField.setText(" ");
departmentField.setText(" ");
teleField.setText(" ");
emailField.setText(" ");
}
catch (SQLException ex) {
System.out.println("/nERROR:----- SQLException -----/n");
while (ex != null) {
System.out.println("Message: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("ErrorCode: " + ex.getErrorCode());
ex = ex.getNextException();
}
}
catch (Exception ex) {
ex.printStackTrace();
}
finally {
try {
if (statement != null) {
statement.close();
}
if (connection != null) {
connection.close();
}
}
catch (SQLException ex) {
System.out.println("/nERROR:----- SQLException -----/n");
System.out.println("Message: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("ErrorCode: " + ex.getErrorCode());
}
}
}
void stunumqueryButton_actionPerformed(ActionEvent e) {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:student";
connection = DriverManager.getConnection(url);
statement = connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String sql = "select * from studentbase where 学号=" +
Integer.parseInt(stunumField.getText());
rSet = statement.executeQuery(sql);
if (rSet.next() == false) {
JOptionPane msg = new JOptionPane();
JOptionPane.showMessageDialog(StuAddQuerySysFrame.this, "数据库中没有您查询的学号",
"数据库中没有您查询的学号!", 1);
}
else {
sql = "select studentbase.学号,姓名,年龄,性别,系别,电话,email 地址 from studentbase inner join studentaddress on(studentbase.学号=studentaddress.学号) where studentbase.学号=" +
Integer.parseInt(stunumField.getText()) + " ";
ResultSet rs = statement.executeQuery(sql);
stunumField.setText("");
vector.removeAllElements();
tm.fireTableStructureChanged();
while (rs.next()) {
Vector rec_vector = new Vector();
rec_vector.addElement(String.valueOf(rs.getInt(1)));
rec_vector.addElement(rs.getString(2));
rec_vector.addElement(String.valueOf(rs.getInt(3)));
rec_vector.addElement(rs.getString(4));
rec_vector.addElement(rs.getString(5));
rec_vector.addElement(rs.getString(6));
rec_vector.addElement(rs.getString(7));
vector.addElement(rec_vector);
}
tm.fireTableStructureChanged();
}
}
catch (SQLException ex) {
System.out.println("/nERROR:----- SQLException -----/n");
while (ex != null) {
System.out.println("Message: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("ErrorCode: " + ex.getErrorCode());
}
}
catch (Exception ex) {
ex.printStackTrace();
}
finally {
try {
if (statement != null) {
statement.close();
}
if (connection != null) {
connection.close();
}
}
catch (SQLException ex) {
System.out.println("/nEROR:---- SQLException ----/n");
System.out.println("Message: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("ErrorCode: " + ex.getErrorCode());
}
}
}
void allrecordButton_actionPerformed(ActionEvent e) {
try {
Class.forName("sun.jdbc.odbc.JdbcodbcDriver");
String url = "jdbc:odbc:student";
connection = DriverManager.getConnection(url);
statment = connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String sql = "select studentbase.学号,姓名,年龄,系别,电话,email地址 from studentbase inner join studentaddress on(studentbase.学号=studentadress.学号)";
rSet = statement.executeQuery(sql);
vector.removeAllElements();
tm.fireTableStructureChanged();
while (rSet.next()) {
Vector rec_vector = new Vector();
rec_vector.addElement(String.valueOf(rSet.getInt(1)));
rec_vector.addElement(rSet.getString(2));
rec_vector.addElement(String.valueOf(rSet.getInt(3)));
rec_vector.addElement(rSet.getString(4));
rec_vector.addElement(rSet.getString(5));
rec_vector.addElement(rSet.getString(6));
rec_vector.addElement(rSet.getString(7));
vector.addElement(rec_vector);
}
tm.fireTableStructureChanged();
}
catch (SQLException ex) {
System.out.println("/nERROR: ----SQLException ----/n");
while (ex != null) {
System.out.println("Message: " + ex.getMessage());
System.out.println("SQLState: " + ex.getMessage());
System.out.println("ErrorCode: " + ex.getMessage());
ex = ex.getNextException();
}
}
catch (Exception ex) {
ex.printStackTrace();
}
finally {
try {
if (statement != null) {
statement.close();
}
if (statement != null) {
connection.close();
}
}
catch (SQLException ex) {
System.out.println("/nERROR:----SQLException----/n");
System.out.println("Message: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("ErrorCode: " + ex.getErrorCode());
}
}
}
}