【发布时间】:2017-05-11 19:30:22
【问题描述】:
用户必须从显示的表格中选择一个度假村 ID 并进行预订。我似乎找不到我的问题,我想打印他们预订的度假村的名称。
String x = jTextFieldID.getText();
Integer Resort = Integer.valueOf(x);
int resort = Integer.parseInt(x);
String sql = "SELECT RESORT_NAME FROM LouwDataBase.Resorts WHERE ID = "+Resort;
try (PreparedStatement pstmt = conn.prepareStatement(sql)) {
pstmt.setInt(1, resort);
try (ResultSet rs = pstmt.executeQuery()) {
if (rs.next()) {
String resortName = rs.getString("RESORT_NAME");
JOptionPane.showMessageDialog(null,
"You want to book at " + resortName);
}
【问题讨论】:
-
您遇到错误了吗?如果是这样,它是什么?问题可能是您没有正确格式化表引用。格式为database.schema.table。也许尝试使用 LouwDatabase.dbo.Resorts (或实际模式,如果不同的话)。
-
2017 年 5 月 11 日晚上 9:36:37 it.pat.Booking jButton1ActionPerformed SEVERE: null java.sql.SQLException: Method 'executeQuery(String)' not allowed on Prepared statement。在 org.apache.derby.client.am.SQLExceptionFactory.getSQLException(Unknown Source) 在 org.apache.derby.client.am.SqlException.getSQLException(Unknown Source) 在 org.apache.derby.client.am.ClientPreparedStatement.executeQuery (来源不明)
-
错误信息很清楚:改用
pstmt.executeQuery(),不带字符串参数。 -
你应该用问题来定位错误堆栈。