2015-11-21 2 views
0

Например, этот запрос похож на двух языках:Подготовленные утверждения JDBC JAVA-запросы аналогичны запросам PHP?

"SELECT District FROM City WHERE Name=?" 

Но JAVA следующий запрос не работает:

"SELECT District FROM City WHERE Name=:name" 

Есть более удобный способ, чем с помощью набора точек допроса в ЯВА ?

+0

Вы можете сделать ': name' в PHP, а также, что это именованный параметр (в зависимости от используемого драйвера). http://php.net/manual/en/pdo.prepare.php – chris85

ответ

2

PreparedStatement JDBC является аналогично (но не идентичен к) РНР PreparedStatement, при использовании параметров связывания JDBC (parameterIndex) является int. См. Using Prepared Statements и PreparedStatement Javadoc. Предполагая, что у вас есть Connection conn и String name, это может быть сделано с чем-то вроде

String sql = "SELECT District FROM City WHERE Name=?"; 
try (PreparedStatement ps = conn.prepareStatement(sql)) { 
    ps.setString(1, name); 
    try (ResultSet rs = ps.executeQuery()) { 
     while (rs.next()) { 
      System.out.println(rs.getString("District")); 
     } 
    } 
} catch (SQLException e) { 
    e.printStackTrace(); 
} 
+0

Ответ на мой вопрос выглядит как нет. Благодарим вас за ваш вклад. – AlbanMar31

Смежные вопросы