六、界面,代码 1.权限界面
1数据库联接公共部分
public static Connection conn = null; public static Statement state = null;
public static void odbc(){ String DBDriver = \
String connectionStr = \
try{
Class.forName(DBDriver); }
catch(java.lang.ClassNotFoundException e){System.err.println(\
try{
conn = DriverManager.getConnection(connectionStr,\ state = conn.createStatement();
}catch(SQLException ex){ System.err.println(\ }
2 刷卡选择部分
//=================== 刷卡界面=================== if(this.jRadioButton2.isSelected()){ this.setVisible(false);
JOptionPane.showMessageDialog(null,\欢迎进入刷卡界面!\ Spend.main(null); }
//=================== 管理员界面=================== if(this.jRadioButton1.isSelected()){ String nstr,pstr,sql;
nstr = this.jTextField1.getText(); pstr = this.jTextField2.getText();
sql = \ ResultSet rs =null;
try{
rs = Main.state.executeQuery(sql);
if(rs.next()){
if(pstr.compareTo(rs.getString(\ this.setVisible(false);
JOptionPane.showMessageDialog(null,\欢迎进入管理员界面!\ Admin.main(null);
}else
JOptionPane.showMessageDialog(null,\密码错误\ }else{JOptionPane.showMessageDialog(null,\用户名错误\ }
}catch(SQLException ex){ System.err.println(\ }
//=================== 学生查询界面=================== if(this.jRadioButton3.isSelected()){ this.setVisible(false);
JOptionPane.showMessageDialog(null,\欢迎进入学生查询界面!\ StuInfo.main(null); }
2.提示界面
3.消费界面
1 搜索部分
if(Ids.getText().equals(\
JOptionPane.showMessageDialog(null,\卡号不能为空!\
Ids.setFocusable(true); }else{
try{
String sql = \* from card_info where id = \ ResultSet rs = Main.state.executeQuery(sql); if(rs.next()){
if(rs.getBoolean(3)){
JOptionPane.showMessageDialog(null,\卡已经被锁,如要解锁,请与管理员联系否则10日后 自动注销!\
}else{
if(DjCheck.isSelected()){
Sum.setText(rs.getString(2));
this.result=String.valueOf(Integer.parseInt(Sum.getText())-Integer.parseInt(Dingjia.getText()));
JOptionPane.showMessageDialog(null,\消费完毕,卡剩余\result +\。如果要继续消费请在10秒内操作,只后自动关闭帐户\
Sum.setText(result);
}else{
Ids.setEditable(false);
this.jButton26.setEnabled(false); this.jPanel1.setVisible(true); Sum.setText(rs.getString(2)); jButton12.setEnabled(true); jButton13.setEnabled(true); jButton14.setEnabled(true); jButton15.setEnabled(true); } } }else{
JOptionPane.showMessageDialog(null,\卡号错误!\ }
}catch(SQLException ex){ System.err.println(\ } 2 消费部分
try{
this.result=String.valueOf((Integer.parseInt(Sum.getText()) - Integer.parseInt(Now.getText()))); String sql = \ if(Main.state.executeUpdate(sql)==0){ JOptionPane.showMessageDialog(null,\消费失败\ }else{
this.nows =Now.getText(); this.sums =Sum.getText();
JOptionPane.showMessageDialog(null,\消费完毕,卡剩余\。如果要继续消费请在10秒内操作,只后自动关闭帐户\
Sum.setText(result); }
}catch(SQLException ex){ System.err.println(\ 3 加减乘部分
if(Jisuan.getText().compareTo(\ Jisuan.setText(Now.getText()); Now.setText(\ } else {
switch(ops){ case 3:
int a= 0;
a=Integer.parseInt(Jisuan.getText()) * Integer.parseInt(Now.getText()); if(a>999){
JOptionPane.showMessageDialog(null,\计算量超过消费最大值!\ }else{
Jisuan.setText(String.valueOf(Integer.parseInt(Jisuan.getText()) Integer.parseInt(Now.getText()))); Now.setText(Jisuan.getText()); } break; case 2:
int b=0;
b = Integer.parseInt(Jisuan.getText()) + Integer.parseInt(Now.getText()); if(b>999){
JOptionPane.showMessageDialog(null,\计算量超过消费最大值!\ }else{
Jisuan.setText(String.valueOf(Integer.parseInt(Jisuan.getText()) Integer.parseInt(Now.getText()))); Now.setText(Jisuan.getText()); } break; case 1:
int c=1;
c=Integer.parseInt(Jisuan.getText()) - Integer.parseInt(Now.getText()); if(c>999||c<=0){
JOptionPane.showMessageDialog(null,\计算量超过消费有效值!\ }else{
Jisuan.setText(String.valueOf(Integer.parseInt(Jisuan.getText()) Integer.parseInt(Now.getText()))); Now.setText(Jisuan.getText()); } break; } }
ops = 0 ;
Op.setText(\
4 学生查询界面
1 查找信息部分
if(num.getText().equals(\
*
+
-
JOptionPane.showMessageDialog(null,\卡号不能为空!\ num.setFocusable(true);
}else{
try{ String sql = \* from student_info
where stu_num = \
ResultSet rs =
Main.state.executeQuery(sql);
if(rs.next()){ id.setText(rs.getString(2)); name.setText(rs.getString(3)); if(rs.getBoolean(4)) sex.setText(\男\ else sex.setText(\女\ tel.setText(rs.getString(5)); address.setText(rs.getString(6));
}else{
JOptionPane.showMessageDialog(null,\卡号错误!\ }
}catch(SQLException ex){ System.err.println(\ }
5.挂失界面
1 锁卡部分
if(num.getText().equals(\
JOptionPane.showMessageDialog(null,\学生学号不能为空!\
num.setFocusable(true); }else{
try{
String sql = \ ResultSet rs = Main.state.executeQuery(sql); if(rs.next()){
if(rs.getString(7).compareTo(pass.getText())==0) {
JOptionPane.showMessageDialog(null,\请按确认锁键,确认锁卡!\ num.setEnabled(false); pass.setEnabled(false);
this.jButton1.setEnabled(false); this.jButton2.setEnabled(true); ids=rs.getInt(1); }else {
JOptionPane.showMessageDialog(null,\学生密码错误!\ }
}else{
JOptionPane.showMessageDialog(null,\学生学号错误!\ }
}catch(SQLException ex){ System.err.println(\ }
6.管理员界面