ScienceQuery.java
上传用户:liming9091
上传日期:2014-10-27
资源大小:3376k
文件大小:6k
源码类别:

Java编程

开发平台:

Java

  1. package infomanagement;
  2. import java.awt.*;
  3. import javax.swing.*;
  4. import com.borland.jbcl.layout.*;
  5. import com.borland.dbswing.*;
  6. import com.borland.dx.sql.dataset.*;
  7. import java.awt.event.*;
  8. import com.borland.dx.dataset.*;
  9. /**
  10.  * <p>Title: </p>
  11.  * <p>Description: </p>
  12.  * <p>Copyright: Copyright (c) 2003</p>
  13.  * <p>Company: </p>
  14.  * @author unascribed
  15.  * @version 1.0
  16.  */
  17. public class ScienceQuery extends JDialog {
  18.   private JPanel jPanel1 = new JPanel();
  19.   private XYLayout xYLayout1 = new XYLayout();
  20.   private JLabel jLabel1 = new JLabel();
  21.   private JLabel jLabel2 = new JLabel();
  22.   private JLabel jLabel3 = new JLabel();
  23.   private JTextField jtfCardID = new JTextField();
  24.   private JButton jbnQuery = new JButton();
  25.   private Database database1 = new Database();
  26.   private QueryDataSet queryDataSet1 = new QueryDataSet();
  27.   private JdbTable jdbTable1 = new JdbTable();
  28.   private JLabel jLabel4 = new JLabel();
  29.   private JButton jbnExit = new JButton();
  30.   private Column column1 = new Column();
  31.   private Column column2 = new Column();
  32.   private Column column3 = new Column();
  33.   private Column column4 = new Column();
  34.   private Column column5 = new Column();
  35.   private JdbTextField jdbTextField1 = new JdbTextField();
  36.   private QueryDataSet queryDataSet2 = new QueryDataSet();
  37.   public ScienceQuery(Frame frame, String title, boolean modal) {
  38.     super(frame, title, modal);
  39.     try {
  40.       jbInit();
  41.       pack();
  42.     }
  43.     catch(Exception ex) {
  44.       ex.printStackTrace();
  45.     }
  46.   }
  47.   public ScienceQuery() {
  48.     this(null, "", false);
  49.   }
  50.   private void jbInit() throws Exception {
  51.     //设置jPanel1为任意放置
  52.     jPanel1.setLayout(xYLayout1);
  53.     jLabel1.setFont(new java.awt.Font("Dialog", 0, 23));
  54.     jLabel1.setForeground(Color.magenta);
  55.     jLabel1.setBorder(BorderFactory.createEtchedBorder());
  56.     //设置文本标题 理科成绩查询
  57.     jLabel1.setText("                     理科成绩查询");
  58.     jLabel2.setBorder(BorderFactory.createEtchedBorder());
  59.     //设置文本标题 准考证号
  60.     jLabel3.setText("准考证号");
  61.     //设置文本标题
  62.     jbnQuery.setText("执行查询");
  63.     jbnQuery.addActionListener(new java.awt.event.ActionListener() {
  64.       public void actionPerformed(ActionEvent e) {
  65.         jbnQuery_actionPerformed(e);
  66.       }
  67.     });
  68.     //连接数据库(local)
  69.     database1.setConnection(new com.borland.dx.sql.dataset.ConnectionDescriptor("jdbc:odbc:local", "sa", "", false, "sun.jdbc.odbc.JdbcOdbcDriver"));
  70.     //设置文本标题 执行查询
  71.     jLabel4.setText("总成绩");
  72.     //设置文本标题 退出
  73.     jbnExit.setText("退出");
  74.     //添加退出事件
  75.     jbnExit.addActionListener(new java.awt.event.ActionListener() {
  76.       public void actionPerformed(ActionEvent e) {
  77.         jbnExit_actionPerformed(e);
  78.       }
  79.     });
  80.     column1.setColumnName("NewColumn1");
  81.     column1.setDataType(com.borland.dx.dataset.Variant.STRING);
  82.     column1.setPreferredOrdinal(4);
  83.     column1.setServerColumnName("NewColumn1");
  84.     column1.setSqlType(0);
  85.     column2.setColumnName("subject");
  86.     column2.setDataType(com.borland.dx.dataset.Variant.STRING);
  87.     column2.setPrecision(50);
  88.     column2.setPreferredOrdinal(0);
  89.     column2.setSchemaName("dbo");
  90.     column2.setTableName("science2");
  91.     column2.setServerColumnName("subject");
  92.     column2.setSqlType(12);
  93.     column3.setColumnName("subjectNameID");
  94.     column3.setDataType(com.borland.dx.dataset.Variant.LONG);
  95.     column3.setPreferredOrdinal(1);
  96.     column3.setSchemaName("dbo");
  97.     column3.setTableName("science2");
  98.     column3.setServerColumnName("subjectNameID");
  99.     column3.setSqlType(-5);
  100.     column4.setColumnName("cardID");
  101.     column4.setDataType(com.borland.dx.dataset.Variant.LONG);
  102.     column4.setPreferredOrdinal(2);
  103.     column4.setSchemaName("dbo");
  104.     column4.setTableName("science2");
  105.     column4.setServerColumnName("cardID");
  106.     column4.setSqlType(-5);
  107.     column5.setColumnName("achievement");
  108.     column5.setDataType(com.borland.dx.dataset.Variant.STRING);
  109.     column5.setPrecision(50);
  110.     column5.setPreferredOrdinal(3);
  111.     column5.setSchemaName("dbo");
  112.     column5.setTableName("science2");
  113.     column5.setServerColumnName("achievement");
  114.     column5.setSqlType(12);
  115.     this.getContentPane().add(jPanel1, BorderLayout.CENTER);
  116.     //在jPanel1中放置各个控件
  117.     jPanel1.add(jLabel1, new XYConstraints(0, 1, 399, 53));
  118.     jPanel1.add(jLabel3,   new XYConstraints(10, 66, 80, 19));
  119.     jPanel1.add(jtfCardID,    new XYConstraints(97, 66, 80, 21));
  120.     jPanel1.add(jLabel2,   new XYConstraints(0, 53, 398, 49));
  121.     jPanel1.add(jbnQuery,       new XYConstraints(300, 66, 90, 22));
  122.     jPanel1.add(jdbTable1,      new XYConstraints(0, 100, 398, 154));
  123.     jPanel1.add(jLabel4,     new XYConstraints(10, 268, 80, 20));
  124.     jPanel1.add(jbnExit,     new XYConstraints(300, 268, 90, 20));
  125.     jPanel1.add(jdbTextField1,    new XYConstraints(100, 268, 90, 20));
  126.   }
  127.   //定义退出方法
  128.   void cancel(){
  129.     dispose() ;
  130.   }
  131.   //退出事件
  132.   void jbnExit_actionPerformed(ActionEvent e) {
  133.     cancel();
  134.   }
  135.   //执行查询语句
  136.   void jbnQuery_actionPerformed(ActionEvent e) {
  137.     //进行数据查询
  138.     try{
  139.     //获得准考证号
  140.     int cardID1 = Integer.parseInt(jtfCardID.getText().trim());
  141.     //查询学习成绩
  142.     queryDataSet1.setQuery(new com.borland.dx.sql.dataset.QueryDescriptor(database1, "SELECT science2.cardID,science2.subject,science2.achievement,science2.subjectNameID " +
  143.       "FROM info.dbo.science2 where science2.cardID = '"+cardID1+"'", null, true, Load.ALL));
  144.     // queryDataSet1.setColumns(new Column[] {column2, column3, column4, column5, column1});
  145.     //加入到jdbTable1中
  146.     jdbTable1.setDataSet(queryDataSet1);
  147.     //执行sum语句,获得成绩总分
  148.     queryDataSet2.setQuery(new com.borland.dx.sql.dataset.QueryDescriptor(database1, "SELECT SUM(achievement) AS SUM_achievement FROM info.dbo.science2n" +
  149.       "where science2.cardID ='"+cardID1+"'", null, true, Load.ALL));
  150.     //在jdbTextField1中加入一列
  151.     jdbTextField1.setColumnName("SUM_achievement");
  152.     //把数据集加入到jdbTextField1中
  153.     jdbTextField1.setDataSet(queryDataSet2);
  154.     }
  155.     catch(Exception sql){
  156.       JOptionPane.showMessageDialog(this,"准考证不存在,请重试");
  157.     }
  158.   }
  159. }