我需要使用JDBC的INSERT语句的帮助

时间:2010-11-10 20:52:40

标签: java mysql jdbc insert

我需要使用INSERT语句,此语句中的2条记录是在程序中计算的字段,需要添加到数据库中。

System.out.println("Executing....");
          stmt = conn.createStatement();
          String sql;
          sql = "INSERT INTO Identities"
              + " VALUES"
              + "('John', 'Smith', '38 Turpington Lane', 'Farnborough', 'Hampshire', 'HA6 7AF', '1990-03-01', PKmod, PKexpo)";
          stmt.executeUpdate(sql);

'PKmod'和'PKexpo'是BigInteger字段,其值在java程序中计算,如何将这些值添加到数据库中?

感谢您的帮助! :)

5 个答案:

答案 0 :(得分:1)

请不要以这种方式插入sqls。使用prepared statement。更改你的SQL使用“?”标记而不是连接值。

答案 1 :(得分:0)

这取决于DBMS。对于mysql或许BIGINT应该足够吗? http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html

答案 2 :(得分:-1)

你需要连接字符串!!!! 所以做如下:

sql = "INSERT INTO Identities"
              + " VALUES"
              + "('John', 'Smith', '38 Turpington Lane', 'Farnborough', 'Hampshire', 'HA6 7AF', '1990-03-01',"+ PKmod+", "+PKexpo+")";

答案 3 :(得分:-1)

System.out.println("Executing....");
stmt = conn.createStatement();
String sql;
sql = "INSERT INTO Identities"
    + " VALUES"
    + "('John', 'Smith', '38 Turpington Lane', 'Farnborough', 'Hampshire', 'HA6 7AF', '1990-03-01', "
    + PKmod 
    + ", "
    + PKexpo
    + ")";
stmt.executeUpdate(sql);

答案 4 :(得分:-1)

//首先检查一下PKmod& PKexpo值不是零或零。

的System.out.println( “执行......”);

      String sql = "INSERT INTO Identities"
          + " VALUES"
          + "('John', 'Smith', '38 Turpington Lane', 'Farnborough', 'Hampshire', 'HA6 7AF', '1990-03-01'," + PKmod + "," + PKexpo +")";

    PreparedStatement pStmt = null;
    pStmt = con.prepareStatement(sql);

    pStmt.executeUpdate();
    closePreparedStatement(pStmt);