Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么rs.next()不去另一张唱片_Java_Sqlite_Resultset - Fatal编程技术网

Java 为什么rs.next()不去另一张唱片

Java 为什么rs.next()不去另一张唱片,java,sqlite,resultset,Java,Sqlite,Resultset,如果我删除beforeFirst,我的函数只在ResultSet中做第一条记录并转到end。如果我使用beforeFirst,我会得到一个错误结果集,该集仅为\u TYPE\u FORWARD\u 您对SELECT和INSERT使用相同的语句对象。从: 当生成ResultSet对象的语句对象关闭、重新执行或用于从多个结果序列中检索下一个结果时,ResultSet对象将自动关闭 要解决此问题,请为executeUpdate调用使用单独的语句对象 另外,我强烈建议您将代码更改为使用由?表示的绑定参数

如果我删除beforeFirst,我的函数只在ResultSet中做第一条记录并转到end。如果我使用beforeFirst,我会得到一个错误结果集,该集仅为\u TYPE\u FORWARD\u

您对SELECT和INSERT使用相同的语句对象。从:

当生成ResultSet对象的语句对象关闭、重新执行或用于从多个结果序列中检索下一个结果时,ResultSet对象将自动关闭

要解决此问题,请为executeUpdate调用使用单独的语句对象

另外,我强烈建议您将代码更改为使用由?表示的绑定参数?。像现在这样一点一点地构建SQL语句可能会打开。

您对SELECT和INSERT使用相同的语句对象。从:

当生成ResultSet对象的语句对象关闭、重新执行或用于从多个结果序列中检索下一个结果时,ResultSet对象将自动关闭

要解决此问题,请为executeUpdate调用使用单独的语句对象


另外,我强烈建议您将代码更改为使用由?表示的绑定参数?。像现在这样一点一点地构建SQL语句可能会出现漏洞。

您的代码存在一个严重的安全漏洞。您容易受到SQL注入的攻击。永远,永远,永远,永远,永远,永远,永远,永远,使用字符串连接与SQL语句;改用PreparedStatements

 harmonogram_id = " + h_id + " order by pracownik_id,
请看这里,了解如何使用简单的技巧轻松拥有您的应用程序:

不过,要回答您的问题,这取决于您的数据库。您必须在连接创建期间设置属性:

Statement stmt = con.createStatement(
                           ResultSet.TYPE_SCROLL_SENSITIVE,
                           ResultSet.CONCUR_UPDATABLE),
                           ResultSet.HOLD_CURSORS_OVER_COMMIT);
发件人:

您的代码存在严重的安全漏洞。您容易受到SQL注入的攻击。永远,永远,永远,永远,永远,永远,永远,永远,使用字符串连接与SQL语句;改用PreparedStatements

 harmonogram_id = " + h_id + " order by pracownik_id,
请看这里,了解如何使用简单的技巧轻松拥有您的应用程序:

不过,要回答您的问题,这取决于您的数据库。您必须在连接创建期间设置属性:

Statement stmt = con.createStatement(
                           ResultSet.TYPE_SCROLL_SENSITIVE,
                           ResultSet.CONCUR_UPDATABLE),
                           ResultSet.HOLD_CURSORS_OVER_COMMIT);
发件人:

可能是您在.executeUpdate中重置rs?请确定您在.executeUpdate中重置rs的可能是哪种SQL引擎?请确定哪种类型的SQL引擎不是最佳做法,但如果h_id是int,则没有风险。同意,但我不同意。现在可能安全了,但是如果你的新同事过来把int改成字符串,这样他就不必在前端做那么多工作了,那该怎么办呢?单元测试仍将通过。安全总比后悔好!这不是最好的做法,但如果h_id是int,就没有风险。同意,但我不同意。现在可能安全了,但是如果你的新同事过来把int改成字符串,这样他就不必在前端做那么多工作了,那该怎么办呢?单元测试仍将通过。安全总比后悔好!