2016-04-24 45 views
0

嗨我有一個程序連接到嵌入式德比數據庫,它應該引用數據庫的數據。我想通過使用簡單的INSERT語句來測試數據庫,但它不起作用。請幫忙。INSERT stsement不能在java程序中工作

import java.awt.BorderLayout; 

import java.awt.EventQueue; 
import java.awt.Label; 

import javax.swing.JFrame; 
import javax.swing.JPanel; 
import javax.swing.border.EmptyBorder; 
import javax.swing.JTabbedPane; 
import javax.swing.JLabel; 
import javax.swing.JTextField; 
import javax.swing.ButtonGroup; 
import javax.swing.JComboBox; 
import javax.swing.JRadioButton; 
import java.awt.Button; 
import java.awt.event.ActionListener; 
import java.awt.event.ActionEvent; 
import javax.swing.JButton; 
import javax.swing.JList; 
import java.awt.List; 
import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.sql.Statement; 
import java.sql.ResultSetMetaData; 

public class Auto extends javax.swing.JFrame implements ActionListener { 

    /** 
    * 
    */ 
    private static final long serialVersionUID = -5777093322764526515L; 
    private JPanel contentPane; 
    private JTextField f_name; 
    private JTextField l_name; 
    private JTextField f_name2; 
    private JTextField l_name2; 
    private JTextField Age; 
    private JTextField issuing; 
    private JTextField liscense_num; 
    private JTextField rental; 
    private JTextField return_d; 
    private JTextField total; 
    private JTextField Age2; 
    private JTextField issuing2; 
    private JTextField liscense_num2; 
    private JTextField rental2; 
    private JTextField return_d2; 
    private JTextField total2; 
    private JTextField agreement_id; 
    private Button Submit_button; 
    private Button Clear_button; 
    private JButton load_button; 
    private Button Update_button; 
    private Button return_car; 
    private JComboBox<?> car_select, car_select2; 
    private JRadioButton cc_button; 
    private JRadioButton cc_button2; 
    private JRadioButton debit_button; 
    private JRadioButton debit_button2; 
    private static String url; 
    private String com; 
    private static Connection myConnection; 
    private static Statement myStatement; 


    /** 
    * Launch the application. 
    */ 
    public static void main(String[] args) throws SQLException, ClassNotFoundException { 
     EventQueue.invokeLater(new Runnable() { 
      public void run() { 
       try { 
        Class.forName("org.apache.derby.jdbc.EmbeddedDriver"); 
        url = "jdbc:derby:MyDB;create=true"; 
        myConnection = DriverManager.getConnection(url); 
        myStatement = myConnection.createStatement(); 
        Auto frame = new Auto(); 
        frame.setVisible(true); 
       } catch (Exception e) { 
        e.printStackTrace(); 
       } 

      } 
     }); 
    } 

    /** 
    * Create the frame. 
    */ 
    public Auto() { 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     setBounds(100, 100, 694, 497); 
     contentPane = new JPanel(); 
     contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); 
     setContentPane(contentPane); 
     contentPane.setLayout(null); 

     JTabbedPane Auto_Pane = new JTabbedPane(JTabbedPane.TOP); 
     Auto_Pane.setBounds(5, 5, 422, 432); 
     contentPane.add(Auto_Pane); 

     JPanel New_rent = new JPanel(); 
     Auto_Pane.addTab("New Rental", null, New_rent, null); 
     New_rent.setLayout(null); 

     JLabel first_name = new JLabel("First Name: "); 
     first_name.setBounds(12, 8, 84, 16); 
     New_rent.add(first_name); 

     f_name = new JTextField(15); 
     f_name.setBounds(97, 5, 116, 22); 
     New_rent.add(f_name); 
     f_name.setColumns(10); 

     l_name = new JTextField(15); 
     l_name.setBounds(97, 40, 116, 22); 
     l_name.setColumns(10); 
     New_rent.add(l_name); 

     JLabel last_name = new JLabel("Last Name: "); 
     last_name.setBounds(12, 43, 84, 16); 
     New_rent.add(last_name); 

     JLabel age = new JLabel("Age: "); 
     age.setBounds(12, 76, 84, 16); 
     New_rent.add(age); 

     Age = new JTextField(2); 
     Age.setBounds(97, 75, 35, 22); 
     Age.setColumns(10); 
     New_rent.add(Age); 

     JLabel liscense = new JLabel("License #: "); 
     liscense.setBounds(12, 113, 84, 16); 
     New_rent.add(liscense); 


     JLabel issuing_st = new JLabel("Issuing State: "); 
     issuing_st.setBounds(12, 146, 84, 16); 
     New_rent.add(issuing_st); 

     issuing = new JTextField(2); 
     issuing.setBounds(97, 143, 116, 22); 
     issuing.setColumns(10); 
     New_rent.add(issuing); 

     liscense_num = new JTextField(13); 
     liscense_num.setBounds(97, 110, 116, 22); 
     liscense_num.setColumns(10); 
     New_rent.add(liscense_num); 

     String[] carStrings = { "Compact", "Midsized", "Standard", "Full Size", "SUV", "Mini Van" }; 
     car_select = new JComboBox<Object>(carStrings); 
     car_select.setBounds(97, 178, 112, 22); 
     New_rent.add(car_select); 

     JLabel car_type = new JLabel("Car Type:"); 
     car_type.setBounds(12, 181, 84, 16); 
     New_rent.add(car_type); 

     JLabel rent_date = new JLabel("Rental Date:"); 
     rent_date.setBounds(12, 216, 84, 16); 
     New_rent.add(rent_date); 

     rental = new JTextField(10); 
     rental.setBounds(97, 213, 116, 22); 
     rental.setColumns(10); 
     New_rent.add(rental); 

     JLabel return_date = new JLabel("Return Date:"); 
     return_date.setBounds(12, 251, 84, 16); 
     New_rent.add(return_date); 

     return_d = new JTextField(10); 
     return_d.setBounds(97, 248, 116, 22); 
     return_d.setColumns(10); 
     New_rent.add(return_d); 

     JLabel total_num = new JLabel("Total:"); 
     total_num.setBounds(12, 283, 84, 16); 
     New_rent.add(total_num); 

     total = new JTextField(7); 
     total.setBounds(97, 280, 116, 22); 
     total.setColumns(10); 
     New_rent.add(total); 

     JLabel payment_type = new JLabel("Payment Type:"); 
     payment_type.setBounds(12, 317, 100, 16); 
     New_rent.add(payment_type); 

     cc_button = new JRadioButton("Credit Card"); 
     cc_button.setBounds(128, 313, 127, 25); 
     New_rent.add(cc_button); 

     debit_button = new JRadioButton("Debit"); 
     debit_button.setBounds(259, 313, 127, 25); 
     New_rent.add(debit_button); 

     ButtonGroup group = new ButtonGroup(); 
     group.add(debit_button); 
     group.add(cc_button); 

     Submit_button = new Button("Submit"); 
     Submit_button.setBounds(12, 356, 99, 24); 
     Submit_button.addActionListener(this); 
     New_rent.add(Submit_button); 

     Clear_button = new Button("Clear Form"); 
     Clear_button.setBounds(128, 356, 99, 24); 
     Clear_button.addActionListener(this); 
     New_rent.add(Clear_button); 

     JPanel Current_rent = new JPanel(); 
     Auto_Pane.addTab("Current Rental", null, Current_rent, null); 
     Current_rent.setLayout(null); 

     load_button = new JButton("Load Current Rental Agreements"); 
     load_button.addActionListener(this); 
     load_button.setBounds(12, 13, 393, 25); 
     Current_rent.add(load_button); 

     List load_list = new List(); 
     load_list.setBounds(12, 54, 393, 229); 
     Current_rent.add(load_list); 

     JPanel Rental_ret = new JPanel(); 
     Auto_Pane.addTab("Rental Details", null, Rental_ret, null); 
     Rental_ret.setLayout(null); 

     JLabel first_name2 = new JLabel("First Name: "); 
     first_name2.setBounds(15, 48, 71, 16); 
     Rental_ret.add(first_name2); 

     f_name2 = new JTextField(15); 
     f_name2.setBounds(109, 45, 116, 22); 
     Rental_ret.add(f_name2); 
     f_name2.setColumns(10); 

     l_name2 = new JTextField(15); 
     l_name2.setBounds(109, 74, 116, 22); 
     l_name2.setColumns(10); 
     Rental_ret.add(l_name2); 

     JLabel last_name2 = new JLabel("Last Name: "); 
     last_name2.setBounds(15, 77, 69, 16); 
     Rental_ret.add(last_name2); 

     Age2 = new JTextField(2); 
     Age2.setBounds(109, 109, 116, 22); 
     Age2.setColumns(10); 
     Rental_ret.add(Age2); 

     JLabel liscense2 = new JLabel("License #: "); 
     liscense2.setBounds(15, 141, 64, 16); 
     Rental_ret.add(liscense2); 


     JLabel issuing_st2 = new JLabel("Issuing State: "); 
     issuing_st2.setBounds(15, 170, 83, 16); 
     Rental_ret.add(issuing_st2); 

     issuing2 = new JTextField(2); 
     issuing2.setBounds(109, 167, 116, 22); 
     issuing2.setColumns(10); 
     Rental_ret.add(issuing2); 

     liscense_num2 = new JTextField(13); 
     liscense_num2.setBounds(109, 138, 116, 22); 
     liscense_num2.setColumns(10); 
     Rental_ret.add(liscense_num2); 


     car_select2 = new JComboBox<Object>(carStrings); 
     car_select2.setBounds(109, 197, 116, 22); 
     Rental_ret.add(car_select2); 

     JLabel car_type2 = new JLabel("Car Type:"); 
     car_type2.setBounds(15, 199, 57, 16); 
     Rental_ret.add(car_type2); 

     JLabel rent_date2 = new JLabel("Rental Date:"); 
     rent_date2.setBounds(15, 234, 71, 16); 
     Rental_ret.add(rent_date2); 

     JTextField rental2 = new JTextField(10); 
     rental2.setBounds(109, 231, 116, 22); 
     rental2.setColumns(10); 
     Rental_ret.add(rental2); 

     JLabel return_date2 = new JLabel("Return Date:"); 
     return_date2.setBounds(15, 269, 73, 16); 
     Rental_ret.add(return_date2); 

     JTextField return_d2 = new JTextField(10); 
     return_d2.setColumns(10); 
     return_d2.setBounds(109, 266, 116, 22); 
     Rental_ret.add(return_d2); 

     JLabel total_num2 = new JLabel("Total:"); 
     total_num2.setBounds(15, 298, 34, 16); 
     Rental_ret.add(total_num2); 

     JTextField total2 = new JTextField(7); 
     total2.setColumns(10); 
     total2.setBounds(109, 295, 116, 22); 
     Rental_ret.add(total2); 

     JLabel payment_type2 = new JLabel("Payment Type:"); 
     payment_type2.setBounds(15, 332, 86, 16); 
     Rental_ret.add(payment_type2); 

     cc_button2 = new JRadioButton("Credit Card"); 
     cc_button2.setBounds(109, 328, 93, 25); 
     Rental_ret.add(cc_button2); 

     debit_button2 = new JRadioButton("Debit"); 
     debit_button2.setBounds(220, 326, 57, 25); 
     Rental_ret.add(debit_button2); 

     ButtonGroup group2 = new ButtonGroup(); 
     group2.add(debit_button); 
     group2.add(cc_button); 

     JLabel age2 = new JLabel("Age: "); 
     age2.setBounds(15, 112, 31, 16); 
     Rental_ret.add(age2); 

     Update_button = new Button("Update"); 
     Update_button.setBounds(15, 368, 83, 24); 
     Rental_ret.add(Update_button); 
     Update_button.addActionListener(this); 

     JLabel Agreement = new JLabel("Agreement ID: "); 
     Agreement.setBounds(15, 13, 93, 16); 
     Rental_ret.add(Agreement); 

     agreement_id = new JTextField(); 
     agreement_id.setColumns(10); 
     agreement_id.setBounds(109, 10, 116, 22); 
     Rental_ret.add(agreement_id); 

     return_car = new Button("Return Car"); 
     return_car.setBounds(109, 368, 83, 24); 
     Rental_ret.add(return_car); 
     return_car.addActionListener(this); 
    } 



    public void actionPerformed(ActionEvent action) { 

       if(action.getSource() == Submit_button){ 
        try { 
         myStatement.execute("INSERT INTO Customer (FNAME, LNAME, AGE, LICNUM, STATE, CAR_TYPE, RENTDATE, RETURNDATE, TOTAL, PAYTYPE, RETURNED) VALUES('Tony','Mahan', 56,'S622-400-55-400-0', 'AK', 'A', '2016-04-07', '2016-04-10', 213.47, 'Credit', true)"); 
       } catch (SQLException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } 

       } 
       if(action.getSource() == load_button); 
       if(action.getSource() == Clear_button); 
       if(action.getSource() == return_car); 
       if(action.getSource() == Update_button); 


    } 
} 
+0

控制檯上的任何異常或消息? –

+0

控制檯上沒有消息 –

回答

0

我不知道,但在INSERT命令

myStatement.execute("INSERT INTO Customer (FNAME, LNAME, AGE, LICNUM, STATE, CAR_TYPE, RENTDATE, RETURNDATE, TOTAL, PAYTYPE, RETURNED) VALUES('Tony','Mahan', 56,'S622-400-55-400-0', 'AK', 'A', '2016-04-07', '2016-04-10', 213.47, 'Credit', true)"); 

,如果你已經在你的數據庫爲varchar然後 我定義返回現場認爲最後的值是true應該在' ' - >'true'