2016-12-08 58 views
-1

我是Java編程新手,仍在學習。 我想在我的數據庫(在xammp中)使用Java中的SQL代碼創建一個表。在Java中使用SQL創建表數據庫

我沒有發現任何錯誤,但代碼只是執行失敗.. 我試圖修復它很多次,仍然沒有任何進展..

也許有人知道如何解決我的程序,請告訴我.. 這將是偉大的。

我使用NetBeans順便說一句..

這是我的源代碼:

private void saveActionPerformed(java.awt.event.ActionEvent evt) {          
    String name=category_name_tf.getText(); 

     try { 
      Statement statement=(Statement) konek.GetConnection().createStatement(); 
      statement.execute("CREATE TABLE '"+name+"'('"+jakarta+"','"+bogor+ "','" 
       +depok+ "','"+tangerang + "','"+bekasi+"');");//Is this codes right? 
      statement.close(); 

      JOptionPane.showMessageDialog(null,"New Category Added"); 

      category_name_tf.setText(""); 
     }catch (Exception t){ 
      JOptionPane.showMessageDialog(null,"Add Category Failed"); 
      category_name_tf.requestFocus(); 
     } 


}    
+2

刪除** ALL ** ** ** **並在最後刪除';'。您輸入的文本字段也需要包含列名和類型,這種格式爲'name type' – XtremeBaumer

+0

您的執行語句應該反映[this](https://www.techonthenet.com/sql/tables/create_table.php)一旦完成 – JohnHC

回答

1

請參閱該代碼並進行更改


public class Test { 
     public static void main(String[] args) throws ClassNotFoundException, SQLException { 
      String tableName = "demo"; 
      String column1 = "Id"; 
      String column1Type = "int"; 
      String column2 = "name"; 
      String column2Type = "varchar(30)"; 
      Class.forName("com.mysql.jdbc.Driver"); 
      String url = "jdbc:mysql://localhost:3306/sample"; 
      Connection connection = DriverManager.getConnection(url, "username", "password"); 
      Statement stmt = connection.createStatement(); 
      String query = "create table " + tableName + " (" + column1+" " + column1Type + " , " + 
        column2 +" " + column2Type + ")"; 
      System.out.printf(query); 
      stmt.executeUpdate(query); 
      stmt.close(); 
     } 
    } 

不要忘記關閉你的連接和聲明對象

+0

很酷,謝謝你.. – edodije