如何在jdbc中插入一行

时间:2014-01-25 23:19:17

标签: java netbeans jdbc

好吧所以我试图在我的数据库中添加一条记录,但它不起作用(因此我在这里问一个问题)

没有抛出任何错误...把一个try catch执行得很好,所以它肯定会起作用吗?

当我运行代码时,服务器也会启动,我可以调用存储在服务器项目中的另一个项目的方法,所以我知道服务器正在运行

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', 'Twisted1@', 'M', '2014-01-24', '2014-01-25')");
        } catch (SQLException e) {

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

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

        }
        return conn;
    }
}

1 个答案:

答案 0 :(得分:0)

您的代码似乎有多个错误,例如

  1. 属性,属性是什么?
  2. SQL错误
  3. 下次提供表格结构
  4. 打印stacktrace而不是异常消息并为我们提供
  5. 当你可能不是
  6. 时,不要在你连接的catch子句中打印
  7. 该方法如何抛出被捕获的异常?
  8. 不要使用字符串作为主键,这样效率不高
  9. 下面有一个有效的样本(虽然表格结构可能太差,无法在这样的例子之外使用)

    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', 'Twisted1@', 'M', '2014-01-24', '2014-01-25')");
                System.out.println(nbUpdatedResult);
            } catch (SQLException e) {
                e.printStackTrace();
            }
            return conn;
        }
    }