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

📄 longterminoutdialog.java

📁 基于数据库组件的系统开发的实例
💻 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 + -