2014-01-25 50 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

这就是我做的:) –