Мне нужна помощь по операторам INSERT с использованием JDBC - PullRequest
1 голос
/ 10 ноября 2010

Мне нужно использовать оператор 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 ]

1 голос
/ 10 ноября 2010

Пожалуйста, не вставляйте sqls таким образом.Используйте подготовленный оператор .Измените ваш sql, чтобы использовать "?"маркеры вместо конкатенации значений.

0 голосов
/ 02 декабря 2010

// Первая проверка, что значения PKmod и PKexpo не равны нулю или нулю.

System.out.println ("Executing ....");

      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);
0 голосов
/ 10 ноября 2010
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);
0 голосов
/ 10 ноября 2010

Это зависит от СУБД. Для mysql возможно BIGINT должно хватить? http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html

0 голосов
/ 10 ноября 2010

Вам нужно объединить строку !!!!Сделайте так:

sql = "INSERT INTO Identities"
              + " VALUES"
              + "('John', 'Smith', '38 Turpington Lane', 'Farnborough', 'Hampshire', 'HA6 7AF', '1990-03-01',"+ PKmod+", "+PKexpo+")";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...