がでSQL挿入(Javaの/ Netbeansの)ResultSetが閉じ
Connection var2 = DBConnPool.getInstance().getConnection();
Statement var3 = null;
String var5;
ResultSet var8 = null;
try {
var3 = var2.createStatement();
var5 = "insert into triggers (ts, nodeip, trapname) values (now(), '"+ipaddress+"', '"+trapname+"')";
var3.execute(var5);
var5 = "select asset.id as assetid, node.id as nodeid \n" +
"from asset, node\n" +
"where asset.name LIKE 'Trigger%'\n" +
"and node.ipaddress=\'"+ipaddress+"'";
var8 = var3.executeQuery(var5);
while(var8.next()){
int var31 = var8.getInt("assetid");
int var32 = var8.getInt("nodeid");
var5 = "insert into alerts (ts, assetid, alerttypeid, nodeid, ack) values (now(), " + var31 + ", 15, " + var32 + ", 0)";
var3.execute(var5);
var5 ="insert into logs (ts, rssi, nodeid, assetid) values (now(), 1000, " + var32 + ", " + var31 + ")";
var3.execute(var5);
}
}
選択asset.id照会がOKで実行しているように見える前に、閉じたResultSetの問題を持っていますが、(挿入する前に) point of
while(var8.next()) {
int var31 = var8.getInt("assetid");
int var32 = var8.getInt("nodeid");
ResultSetが終了した後で操作を実行できません。
while(var8.next())の外に挿入を行う必要がありますか?もしそうならば、変数var31とvar32をどのように回復/参照するのですか?
謝罪、私はVAR名は非常に有用ではありませんが、挿入コマンドは簡単でなければなりません(またはそう思った)知っている
思考を分離するようにしてください
よろしく アクティブ
「ResultSetを閉じた後に操作できません」という行は何ですか? – DanielBarbarian
while(var8.next()) – Active
わかりませんが、最初の実行後に新しい文を作成する必要があるかもしれません。 – DanielBarbarian