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

📄 queryresolverframe.java~47~

📁 jbuilder2006一书的所有源代码
💻 JAVA~47~
字号:
package dbSwing;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import com.borland.dx.sql.dataset.*;
import com.borland.dbswing.*;
import com.borland.dx.dataset.*;

public class QueryResolverFrame extends JFrame implements ActionListener {
  JPanel contentPane;
  BorderLayout borderLayout1 = new BorderLayout();
  Database database1 = new Database();
  QueryDataSet queryDataSet1 = new QueryDataSet();
  QueryResolver queryResolver1 = new QueryResolver();
  TableScrollPane tableScrollPane1 = new TableScrollPane();
  JdbTable jdbTable1 = new JdbTable();
  JPanel jPanel1 = new JPanel();
  JButton jButton1 = new JButton();
  JButton jButton2 = new JButton();
  JButton jButton3 = new JButton();

  public QueryResolverFrame() {
    try {
      jbInit();
    }
    catch(Exception e) {
      e.printStackTrace();
    }
  }

  private void jbInit() throws Exception  {
    contentPane = (JPanel) this.getContentPane();
    contentPane.setLayout(borderLayout1);
    this.setSize(new Dimension(400, 300));
    this.setTitle("QueryResolver示例");
    //建立与SQLServer的books数据库的联接
    database1.setConnection(new com.borland.dx.sql.dataset.ConnectionDescriptor(
        "jdbc:microsoft:sqlserver://bemyfriend:1433;DatabaseName=books", "sa",
        "", false, "com.microsoft.jdbc.sqlserver.SQLServerDriver"));
    //重新获得记录后,使记录集没有重复记录
    queryDataSet1.setAccumulateResults(false);
    //取得bookcategory数据表的记录
    queryDataSet1.setQuery(new com.borland.dx.sql.dataset.QueryDescriptor(
        database1, "select * from bookcategory", null, true, Load.ALL));
    //设置QueryResolver类的数据源
    queryResolver1.setDatabase(database1);
    //设置更新模式
    queryResolver1.setUpdateMode(com.borland.dx.dataset.UpdateMode.KEY_COLUMNS);
    //设置QueryDataSet的更新类
    queryDataSet1.setResolver(queryResolver1);
    jButton1.setText("插入");
    jButton2.setText("删除");
    jButton3.setText("存入数据库");
    jButton1.setActionCommand("insert");
    jButton2.setActionCommand("delete");
    jButton3.setActionCommand("save");
    jButton1.addActionListener(this);
    jButton2.addActionListener(this);
    jButton3.addActionListener(this);
    //设置表格的数据源
    jdbTable1.setDataSet(queryDataSet1);
    jPanel1.add(jButton1, null);
    jPanel1.add(jButton2, null);
    jPanel1.add(jButton3, null);
    tableScrollPane1.getViewport().add(jdbTable1, null);
    contentPane.add(tableScrollPane1,  BorderLayout.CENTER);
    contentPane.add(jPanel1, BorderLayout.SOUTH);

  }

  protected void processWindowEvent(WindowEvent e) {
    if (e.getID() == WindowEvent.WINDOW_CLOSING) {
      System.exit(0);
    }
  }
  public void actionPerformed(ActionEvent e) {
    String actionComm = e.getActionCommand();
    //添加按钮的执行代码
    if(actionComm.equals("insert")){
      //插入一行记录,false表示在当前行的后面加入一行
      queryDataSet1.insertRow(false);
      //addLine();
    }
    //删除按钮的执行代码
    if(actionComm.equals("delete")){
      //删除当前行的记录
      queryDataSet1.deleteRow();
    }
    //保存按钮的执行代码
    if(actionComm.equals("save")){
      //向数据库提交更新结果
      database1.saveChanges(queryDataSet1);
      //更新queryDataSet类的数据
      queryDataSet1.refresh();
    }
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -