我需要使用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程序中计算,如何将这些值添加到数据库中?
感谢您的帮助! :)
答案 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);