【发布时间】:2019-04-17 06:06:03
【问题描述】:
我在更新 mssql 给出的结果集时遇到问题。
我想用添加 (初始和AmountDeposited)。 AmountDeposited 在名为 (textFieldamount) 的文本字段中作为双精度输入,初始也是结果集中的双精度值。
我收到一个错误。 (结果集不可更新(引用的表没有主键)。
此结果集必须来自使用 ResultSet.CONCUR_UPDATABLE 结果集类型创建的语句。)
这是我的代码
String url = "jdbc:mysql://localhost:3306/STATTER_BANK";
String user = "root";
String password = "";
double amountDeposited = Double.parseDouble(textFieldamount.getText());
public void theQuery {
String query1 = "SELECT initial_deposit FROM createaccount"+"WHERE id=1";
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = DriverManager.getConnection(url, user, password);
PreparedStatement stt = con.prepareStatement(query1, ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
ResultSet rs = stt.executeQuery();
while (rs.next()) {
double initial = rs.getDouble("initial_deposit");
rs.updateDouble( "initial_deposit", initial + amountDeposited);
rs.updateRow();
}
} catch (Exception e ) {
e.printStackTrace();
}
}
【问题讨论】:
标签: java sql-server tsql