📄 longterminoutdialog.java
字号:
package parkingsystem;
import java.awt.*;
import javax.swing.*;
import com.borland.jbcl.layout.*;
import java.sql.*;
import java.util.*;
import java.text.*;
import java.awt.event.*;
import com.borland.dx.sql.dataset.*;
import com.borland.dx.dataset.*;
import java.sql.Timestamp;
public class LongTermInOutDialog extends JDialog {
JPanel panel1 = new JPanel();
XYLayout xYLayout1 = new XYLayout();
JLabel jLabel2 = new JLabel();
JLabel jLabel1 = new JLabel();
JLabel jLabel3 = new JLabel();
JLabel jLabel4 = new JLabel();
JLabel jLabel6 = new JLabel();
JLabel jLabel7 = new JLabel();
JLabel jLabel8 = new JLabel();
JLabel jLabel9 = new JLabel();
JButton jButton1 = new JButton();
JLabel jLabel10 = new JLabel();
JLabel jLabel5 = new JLabel();
private int cardID; //用于存放卡号
private String oper; //用于存放出场或入场操作类型
String inOrNotType=""; //用于存放是否允许进入信息
String outOrNotType="";//用于存放是否运行出车场信息
String carNum;//用于存放车牌号
java.util.Date now;//用于存放当前系统时间
Database database1 = new Database();
QueryDataSet queryDataSet1 = new QueryDataSet();
ParameterRow cardparameter = new ParameterRow();
Column column1 = new Column();
QueryDataSet queryDataSet2 = new QueryDataSet();
QueryDataSet queryDataSet3 = new QueryDataSet();
Column column2 = new Column();
Column column4 = new Column();
QueryDataSet queryDataSet4 = new QueryDataSet();
Column column3 = new Column();
Column column5 = new Column();
public LongTermInOutDialog(Frame frame, String title, boolean modal,int cardID,String oper) {
super(frame, title, modal);
this.cardID=cardID;
this.oper=oper;
try {
jbInit();
pack();
}
catch(Exception ex) {
ex.printStackTrace();
}
}
public LongTermInOutDialog() {
this(null, "", false,0,null);
}
private void jbInit() throws Exception {
panel1.setLayout(xYLayout1);
jLabel2.setText("选择卡类型:");
jLabel2.setFont(new java.awt.Font("Serif", 0, 14));
jLabel2.setText("车 牌 号:");
jLabel1.setText("选择操作类型:");
jLabel1.setFont(new java.awt.Font("Serif", 0, 14));
jLabel1.setText("卡 号:");
jLabel3.setText("请输入卡号:");
jLabel3.setFont(new java.awt.Font("Serif", 0, 14));
jLabel3.setText("卡有效期至:");
jLabel4.setText("卡有效期至:");
jLabel4.setFont(new java.awt.Font("Serif", 0, 14));
jLabel4.setText("当 前 时 间:");
jLabel6.setFont(new java.awt.Font("Serif", 0, 14));
jLabel6.setForeground(SystemColor.activeCaption);
jLabel6.setText("");
jLabel7.setFont(new java.awt.Font("Serif", 0, 14));
jLabel7.setForeground(SystemColor.activeCaption);
jLabel7.setRequestFocusEnabled(true);
jLabel7.setText("");
jLabel8.setFont(new java.awt.Font("Serif", 0, 14));
jLabel8.setForeground(SystemColor.activeCaption);
jLabel8.setRequestFocusEnabled(true);
jLabel8.setText("");
jLabel9.setFont(new java.awt.Font("Serif", 0, 14));
jLabel9.setForeground(SystemColor.activeCaption);
jLabel9.setText("");
jButton1.setFont(new java.awt.Font("Serif", 0, 14));
jButton1.setText("确 定");
jButton1.addActionListener(new LongTermInOutDialog_jButton1_actionAdapter(this));
panel1.setPreferredSize(new Dimension(400, 300));
jLabel10.setText("");
jLabel10.setFont(new java.awt.Font("Serif", 0, 14));
jLabel10.setForeground(SystemColor.activeCaption);
jLabel5.setText("时 间:");
jLabel5.setFont(new java.awt.Font("Serif", 0, 14));
jLabel5.setText("操 作 类 型:");
database1.setConnection(new com.borland.dx.sql.dataset.ConnectionDescriptor("jdbc:microsoft:sqlserver://localhost:1433;DataBaseName=carparkingdb", "sa", "", false, "com.microsoft.jdbc.sqlserver.SQLServerDriver"));
queryDataSet1.setQuery(new com.borland.dx.sql.dataset.QueryDescriptor(database1, "select * from card where CardID=:CardID", cardparameter, true, Load.ALL));
column1.setColumnName("CardID");
column1.setDataType(com.borland.dx.dataset.Variant.INT);
column1.setDefault("0");
column1.setServerColumnName("NewColumn1");
column1.setSqlType(0);
cardparameter.setColumns(new Column[] {column1});
queryDataSet2.setQuery(new com.borland.dx.sql.dataset.QueryDescriptor(database1, "Select * from event where CardID=:CardID and OutTime is NULL", cardparameter, true, Load.ALL));
column2.setColumnName("CardID");
column2.setCurrency(false);
column2.setDataType(com.borland.dx.dataset.Variant.INT);
column2.setDefault("0");
column2.setServerColumnName("NewColumn1");
column2.setSqlType(0);
column4.setColumnName("CarNum");
column4.setCurrency(false);
column4.setDataType(com.borland.dx.dataset.Variant.STRING);
column4.setDefault("");
column4.setServerColumnName("NewColumn1");
column4.setSqlType(0);
queryDataSet3.setMetaDataUpdate(MetaDataUpdate.TABLENAME+MetaDataUpdate.PRECISION+MetaDataUpdate.SCALE+MetaDataUpdate.SEARCHABLE);
queryDataSet3.setQuery(new com.borland.dx.sql.dataset.QueryDescriptor(database1, "select * from event", null, true, Load.ALL));
queryDataSet4.setMetaDataUpdate(MetaDataUpdate.TABLENAME+MetaDataUpdate.PRECISION+MetaDataUpdate.SCALE+MetaDataUpdate.SEARCHABLE);
queryDataSet4.setQuery(new com.borland.dx.sql.dataset.QueryDescriptor(database1, "select * from event where CardID=:CardID and OutTime is null order " + "by CardID", cardparameter, true, Load.ALL));
column3.setColumnName("EventID");
column3.setDataType(com.borland.dx.dataset.Variant.INT);
column3.setRowId(true);
column3.setServerColumnName("EventID");
column3.setSqlType(4);
column5.setColumnName("EventID");
column5.setDataType(com.borland.dx.dataset.Variant.INT);
column5.setRowId(true);
column5.setTableName("event");
column5.setServerColumnName("EventID");
column5.setSqlType(4);
getContentPane().add(panel1);
panel1.add(jLabel6, new XYConstraints(194, 20, 129, 31));
panel1.add(jLabel7, new XYConstraints(194, 60, 129, 31));
panel1.add(jLabel8, new XYConstraints(194, 100, 129, 31));
panel1.add(jLabel1, new XYConstraints(76, 24, 102, 31));
panel1.add(jLabel2, new XYConstraints(76, 62, 102, 31));
panel1.add(jLabel3, new XYConstraints(76, 100, 102, 31));
panel1.add(jLabel4, new XYConstraints(76, 137, 102, 31));
panel1.add(jLabel9, new XYConstraints(194, 137, 167, 31));
panel1.add(jLabel5, new XYConstraints(76, 175, 102, 31));
panel1.add(jLabel10, new XYConstraints(194, 174, 129, 31));
panel1.add(jButton1, new XYConstraints(137, 225, 115, 33));
jLabel6.setText(cardID+"");
cardparameter.setInt("CardID",cardID);//设置查询参数
queryDataSet1.open();//运行并得到查询结果集
carNum=queryDataSet1.getString("carNum");//从结果集中获取卡号对应的车牌号
jLabel7.setText(carNum);
/*以下代码获取并显示卡所对象的有效期限*/
String limitTimeStr=queryDataSet1.getTimestamp("TimeLimit").toString();
StringTokenizer strToken=new StringTokenizer(limitTimeStr," ");
String limitDate=strToken.nextToken();
jLabel8.setText(limitDate);
//以下代码获取并显示系统当前时间
now=new java.util.Date();
SimpleDateFormat timeFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm");
String timeNow=timeFormat.format(now);
StringTokenizer dateNowStrToken=new StringTokenizer(timeNow," ");
String dateNow=dateNowStrToken.nextToken();
jLabel9.setText(dateNow);
queryDataSet3.setColumns(new Column[] {column3});
queryDataSet4.setColumns(new Column[] {column5});
queryDataSet2.open();//打开并运行查询,得到查询结果集
if(oper.equals("入场")){
/*当车目前不在车场中,并且卡的有效期限未到时,操作提示为:"允许进入",否则为:"拒绝进入"*/
if (queryDataSet2.rowCount() == 0) {
int comResult = limitDate.compareTo(dateNow);
if (comResult >= 0) {
inOrNotType = "允许进入";
}
else {
inOrNotType = "拒绝进入";
}
}
else {
inOrNotType = "拒绝进入";
}
jLabel10.setText(inOrNotType);
}
else if(oper.equals("出场")){
/*当车目前在车场中,操作提示为:"允许出车场",否则为:"拒绝出车场"*/
if(queryDataSet2.rowCount()!=0){
outOrNotType="允许出车场";
}
else{
outOrNotType="拒绝出车场";
}
jLabel10.setText(outOrNotType);
}
//关闭查询数据集
queryDataSet1.close();
queryDataSet2.close();
}
void jButton1_actionPerformed(ActionEvent e) {
if (oper.equals("入场")) {
if (inOrNotType.equals("允许进入")) {
queryDataSet3.open();//打开并运行查询
queryDataSet3.insertRow(false);//向查询集中插入一记录行
queryDataSet3.setInt("CardID", cardID);//设置插入记录行的CardID字段值
queryDataSet3.setInt("UserID", LoginFrame.userID);//设置插入记录行的userID字段值
queryDataSet3.setString("CarNum", carNum);//设置插入记录行的CarNum字段值
long lTime = now.getTime();
Timestamp t = new Timestamp(lTime);
queryDataSet3.setTimestamp("InTime", t);//设置插入记录行的InTime字段值
database1.saveChanges(queryDataSet3);//将插入记录写入数据库表
JOptionPane.showMessageDialog(this,"插入记录成功!");
}
queryDataSet3.close();//关闭数据集
}
else if(oper.equals("出场")){
if(outOrNotType.equals("允许出车场")){
cardparameter.setInt("CardID",cardID);//设置查询条件字段值
queryDataSet4.open();//打开并运行查询
long lTime = now.getTime();
Timestamp t = new Timestamp(lTime);
queryDataSet4.setTimestamp("OutTime",t);//修改记录字段值
database1.saveChanges(queryDataSet4);//保存修改数据
JOptionPane.showMessageDialog(this,"修改记录成功!");
}
queryDataSet4.close();//关闭数据集
}
}
}
class LongTermInOutDialog_jButton1_actionAdapter implements java.awt.event.ActionListener {
LongTermInOutDialog adaptee;
LongTermInOutDialog_jButton1_actionAdapter(LongTermInOutDialog adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton1_actionPerformed(e);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -