?? createtableframe.java~10~
字號:
package createtable;
import com.borland.jbcl.layout.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.*;
import java.lang.*;
import java.util.*;
/**
* Title: 創建數據庫中的表程序
* Description: 教學示范
* Copyright: Copyright (c) 2003
* Company: 北京師范大學計算機系
* @author 孫一林
* @version 1.0
*/
public class CreateTableFrame extends JFrame {
private XYLayout xYLayout1 = new XYLayout(); // 構造XYLayout布局管理器
private JPanel contentPane;
// 創建顯示信息使用的組件
private Label label1 = new Label();
private TextField tablenameField = new TextField();
private Label label2 = new Label();
private TextField columnname1Field = new TextField();
private TextField columnname2Field = new TextField();
private TextField columnname3Field = new TextField();
private Label label3 = new Label();
private Choice column1typechoice = new Choice();
private Choice column2typechoice = new Choice();
private Choice column3typechoice = new Choice();
private Label label4 = new Label();
private Checkbox checkbox1 = new Checkbox();
private Checkbox checkbox2 = new Checkbox();
private Checkbox checkbox3 = new Checkbox();
private CheckboxGroup checkboxGroup1 = new CheckboxGroup();
private Button creattableButton = new Button();
Connection connection = null; // 聲明Connection接口對象connection
Statement statement = null; // 定義查詢數據庫的Statement對象
// 定義字段類型字符串變量
String column1type;
String column2type;
String column3type;
String sql; // 定義SQL語句字符串變量
public CreateTableFrame() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
private void jbInit() throws Exception {
contentPane = (JPanel) this.getContentPane();
// 初始化組件
label1.setText("創建表名稱:");
contentPane.setLayout(xYLayout1);
this.setSize(new Dimension(400, 300));
this.setTitle("創建數據庫中的表");
label2.setText("字段名:");
label3.setText("字段類型:");
label4.setText("主 鍵:");
checkbox1.setCheckboxGroup(checkboxGroup1);
checkbox1.setLabel("字段1");
checkbox1.addItemListener(new java.awt.event.ItemListener() { // checkbox1的事件監聽方法
public void itemStateChanged(ItemEvent e) {
checkbox1_itemStateChanged(e);
}
});
checkbox2.setCheckboxGroup(checkboxGroup1);
checkbox2.setLabel("字段2");
checkbox2.addItemListener(new java.awt.event.ItemListener() { // checkbox2的事件監聽方法
public void itemStateChanged(ItemEvent e) {
checkbox2_itemStateChanged(e);
}
});
checkbox3.setCheckboxGroup(checkboxGroup1);
checkbox3.setLabel("字段3");
checkbox3.addItemListener(new java.awt.event.ItemListener() { // checkbox3的事件監聽方法
public void itemStateChanged(ItemEvent e) {
checkbox3_itemStateChanged(e);
}
});
checkboxGroup1.setSelectedCheckbox(null);
creattableButton.setLabel("創建表");
creattableButton.addActionListener(new java.awt.event.ActionListener() { // creattableButton的事件監聽方法
public void actionPerformed(ActionEvent e) {
creattableButton_actionPerformed(e);
}
});
column1typechoice.addItemListener(new java.awt.event.ItemListener() { // column1typechoice的事件監聽方法
public void itemStateChanged(ItemEvent e) {
column1typechoice_itemStateChanged(e);
}
});
column2typechoice.addItemListener(new java.awt.event.ItemListener() { // column2typechoice的事件監聽方法
public void itemStateChanged(ItemEvent e) {
column2typechoice_itemStateChanged(e);
}
});
column3typechoice.addItemListener(new java.awt.event.ItemListener() { // column3typechoice的事件監聽方法
public void itemStateChanged(ItemEvent e) {
column3typechoice_itemStateChanged(e);
}
});
contentPane.add(tablenameField, new XYConstraints(156, 35, 88, 29));
contentPane.add(columnname2Field, new XYConstraints(204, 90, 70, 28));
contentPane.add(label2, new XYConstraints(47, 88, 69, 28));
contentPane.add(columnname1Field, new XYConstraints(121, 90, 70, 28));
contentPane.add(columnname3Field, new XYConstraints(286, 90, 70, 28));
contentPane.add(column2typechoice, new XYConstraints(206, 139, 73, 27));
contentPane.add(label3, new XYConstraints(47, 142, 64, 24));
contentPane.add(column1typechoice, new XYConstraints(121, 139, 73, 27));
contentPane.add(column3typechoice, new XYConstraints(290, 139, 73, 27));
contentPane.add(checkbox2, new XYConstraints(214, 182, 76, 30));
contentPane.add(label4, new XYConstraints(47, 184, 45, 30));
contentPane.add(checkbox1, new XYConstraints(124, 182, 76, 30));
contentPane.add(checkbox3, new XYConstraints(303, 182, 76, 30));
contentPane.add(creattableButton, new XYConstraints(153, 216, 94, 34));
contentPane.add(label1, new XYConstraints(47, 36, 81, 24));
// 向choice控件中添加項
column2typechoice.insert(" ",0) ;
column3typechoice.insert(" ",0) ;
column1typechoice.insert(" ",0) ;
column1typechoice.insert("文本",1) ;
column2typechoice.insert("文本",1) ;
column3typechoice.insert("文本",1) ;
column1typechoice.insert("數字",2) ;
column2typechoice.insert("數字",2) ;
column3typechoice.insert("數字",2) ;
}
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
void checkbox1_itemStateChanged(ItemEvent e) { // 處理checkbox1事件
sql="create table "+tablenameField.getText()+ "("+columnname1Field.getText()+" "+column1type+" constraint "+columnname1Field.getText()+" primary key, "+columnname2Field.getText()+" "+column2type+", "+columnname3Field.getText()+" "+column3type+")" ;
}
void checkbox2_itemStateChanged(ItemEvent e) { // 處理checkbox2事件
sql="create table "+tablenameField.getText()+ "("+columnname1Field.getText()+" "+column1type+", "+columnname2Field.getText()+" "+column2type+" constraint "+columnname2Field.getText()+" primary key, "+columnname3Field.getText()+" "+column3type+")" ;
}
void checkbox3_itemStateChanged(ItemEvent e) { // 處理checkbox3事件
sql="create table "+tablenameField.getText()+ "("+columnname1Field.getText()+" "+column1type+", "+columnname2Field.getText()+" "+column2type+", "+columnname3Field.getText()+" "+column3type+" constraint "+columnname1Field.getText()+" primary key "+")" ;
}
//---------------------------------------------------
void creattableButton_actionPerformed(ActionEvent e) { // 處理creattableButton事件
//try {
String user = "sysdba";
String password = "masterkey";
String driverName = "interbase.interclient.Driver";
String databaseURL = "jdbc:interbase://localhost/D:/Program Files/Borland/InterBase/examples/Database/employee.gdb";
// Class.forName("interbase.interclient.Driver"); // 實例化JDBC-ODBC橋的驅動
try {
Class.forName (driverName);
System.out.println ("成功加載InterBase數據庫驅動程序!");
}catch (java.lang.ClassNotFoundException eq) {
System.out.println ("加載InterBase數據庫驅動程序失敗!");
System.out.println (eq.getMessage ());
return;
}
try {
Connection con = java.sql.DriverManager.getConnection (databaseURL, user, password);
System.out.println ("連接inerbase.gdb數據庫成功!");
/*statement = connection.createStatement();
statement.executeUpdate(sql); // 執行創建數據庫表語句
// 清空文本框
tablenameField.setText("");
columnname1Field.setText("");
columnname2Field.setText("");
columnname3Field.setText("");*/
//con.close();
}
catch(java.sql.SQLException ex) {
System.out.println ("連接testdb.gdb數據庫失敗!");
System.err.println("SQLException: " + ex.getMessage());
return;
}
//String url = "jdbc:interbase://localhost/D:/Program Files/Borland/InterBase/examples/Database/employee.gdb"; // 設置連接字符串
//connection = DriverManager.getConnection(url,user,password); // 連接數據庫
/*statement = connection.createStatement();
statement.executeUpdate(sql); // 執行創建數據庫表語句
// 清空文本框
tablenameField.setText("");
columnname1Field.setText("");
columnname2Field.setText("");
columnname3Field.setText("");*/
//}
/*catch(SQLException ex){ // 捕捉異常
System.out.println("\nERROR:----- SQLException -----\n");
while (ex != null) {
System.out.println("Message: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("ErrorCode: " + ex.getErrorCode());
ex = ex.getNextException();
}
}
catch(Exception ex ) {
ex.printStackTrace();
}
finally {
try {
if(statement != null) {
statement.close(); // 關閉Statement接口實例
}
if(connection != null) {
connection.close(); // 關閉Connection接口實例
}
}
catch (SQLException ex) {
System.out.println("\nERROR:----- SQLException -----\n");
System.out.println("Message: " + ex.getMessage( ));
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("ErrorCode: " + ex.getErrorCode());
}
}*/
}
//----------------------------------------------------
void column1typechoice_itemStateChanged(ItemEvent e) { // 處理column1typechoice事件,以確定字段類型
switch (column1typechoice.getSelectedIndex()){
case 1:column1type="varchar(30)";
break;
case 2:column1type="int";
break;
}
}
void column2typechoice_itemStateChanged(ItemEvent e) { // 處理column2typechoice事件,以確定字段類型
switch (column2typechoice.getSelectedIndex()){
case 1: column2type="varchar(30)";
break;
case 2: column2type="int";
break;
}
}
void column3typechoice_itemStateChanged(ItemEvent e) { // 處理column3typechoice事件,以確定字段類型
switch (column3typechoice.getSelectedIndex()){
case 1: column3type="varchar(30)";
break;
case 2: column3type="int";
break;
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -