2014-01-25 45 views
0

確定一排,所以我想將記錄添加到我的數據庫,但它不工作(所以爲什麼我在這裏問一個問題)如何插入採用JDBC

沒有錯誤被拋出.. 。把一個嘗試捕獲執行罰款,所以肯定它應該工作?

,當我運行代碼的服務器也開始和我可以打電話從存儲在服務器項目中的另一個項目的方法,所以我知道,服務器運行

public class RegisterUser { 


    public Connection getConnection() throws SQLException { 

     Connection conn = null; 
     Properties connectionProps = new Properties("admin", "adminadmin"); 

     try { 
      conn = DriverManager.getConnection(
        "jdbc:derby://localhost:1527/Social_Network"); 
      Statement stmt = conn.createStatement(); 
      int nbUpdatedResult = stmt.executeUpdate("INSERT INTO table (USERS) VALUES (INSERT INTO ADMINISTRATOR.USERS (USERID, USERNAME, PASSWORD, SEX, BIRTH, DEATH) \n" 
        + " VALUES ('1', 'salems24', '[email protected]', 'M', '2014-01-24', '2014-01-25')"); 
     } catch (SQLException e) { 

      System.out.println(e.getMessage()); 

      System.out.println("Connected to database"); 

     } 
     return conn; 
    } 
} 
+1

SQL插入語句看起來非常奇怪,實際上是無效的。如果您看到「連接到數據庫」,則說明有錯誤。 –

+0

什麼是無效的呢?只是說這是無效的沒有太大的幫助 不顯示 我用這個 http://www.w3schools.com/sql/sql_insert.asp –

+0

對不起我的意思是「連接到數據庫」不顯示爲 –

回答

0

你的代碼似乎有一些誤差修改,如

  1. 屬性,屬性是什麼?
  2. SQL是錯誤的
  3. 下一次提供的表結構
  4. 打印堆棧跟蹤,而不是例外消息,併爲我們提供它
  5. 不,你連catch子句在打印時,你也許不
  6. 該方法如何拋出一個被捕獲的異常?
  7. 不要使用字符串作爲主鍵,這不是有效的

下面還有的作品(雖然表結構可能是太可憐了這樣一個例子外使用)

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.SQLException; 
import java.sql.Statement; 
import java.util.Properties; 


public class RegisterUser { 

    public static void main(String[] args){ 
     new RegisterUser().getConnection(); 
    } 
    public Connection getConnection(){ 

     Connection conn = null; 
     Properties props = new Properties(); 

     try { 
      conn = DriverManager.getConnection(
        "jdbc:derby:derbyDB;create=true",props); 
      Statement stmt = conn.createStatement(); 
//   stmt.executeUpdate("create table users (userid int not null primary key,username varchar(200), password varchar(200), sex varchar(200), birth date, death date)"); 
      int nbUpdatedResult = stmt.executeUpdate("INSERT INTO USERS (USERID, USERNAME, PASSWORD, SEX, BIRTH, DEATH) VALUES (2, 'salems24', '[email protected]', 'M', '2014-01-24', '2014-01-25')"); 
      System.out.println(nbUpdatedResult); 
     } catch (SQLException e) { 
      e.printStackTrace(); 
     } 
     return conn; 
    } 
} 
樣本
+0

確定,所以現在這些警告都顯示 警告:跳過項,因爲它不是一個絕對URI。 2014年1月26日下午2時45分四十秒com.sun.enterprise.glassfish.bootstrap.osgi.BundleProvisioner $ DefaultCustomizer的getLocations 警告:跳過項,因爲它不是一個絕對URI。 重度:SEC5054:證書已過期: –

+0

使用JDBC字符串,而不是我的。 – Leo

+0

這就是我做的:) –