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 为多个报表准备的报表_Java_Sqlite_Jdbc_Prepared Statement - Fatal编程技术网

Java 为多个报表准备的报表

Java 为多个报表准备的报表,java,sqlite,jdbc,prepared-statement,Java,Sqlite,Jdbc,Prepared Statement,是否可以对多个语句使用PreparedStatement 例如,我是说 如果 String sql=“插入或插入…”;更新…;插入…” 这个 仅执行第一条语句“插入或插入…”(直到分号)。 是否可以一次执行所有操作 String[] query = { "insert into Gericht (classification,date,name,preisExtern,preisIntern) values (?,?,?,?,?)", "test" }; Prep

是否可以对多个语句使用
PreparedStatement

例如,我是说 如果
String sql=“插入或插入…”;更新…;插入…”
这个

仅执行第一条语句“插入或插入…”(直到分号)。 是否可以一次执行所有操作

String[] query = { "insert into Gericht (classification,date,name,preisExtern,preisIntern) values (?,?,?,?,?)",
            "test" };
    PreparedStatement stmt;
    for (String str : query) {
        stmt = c.prepareStatement(str);
        stmt.addBatch();
    }
    stmt.executeBatch();
下面是一个关于如何使用批处理的示例。如果它不是您想要的,请告诉我

如所愿:


@XtremeBaumer当prepared语句中的参数发生变化时如何处理?如何动态地改变它

答复:


不能。如果您希望同时执行多个不同的查询,则只能使用fixed语句,否则代码将非常大,然后您可以通过设置参数并将其添加到批处理来手动执行。如果您有一个获取不同参数的查询,并且希望一次添加所有查询,则批处理是好的

是否可以一次执行所有操作

String[] query = { "insert into Gericht (classification,date,name,preisExtern,preisIntern) values (?,?,?,?,?)",
            "test" };
    PreparedStatement stmt;
    for (String str : query) {
        stmt = c.prepareStatement(str);
        stmt.addBatch();
    }
    stmt.executeBatch();

这可能取决于数据库供应商对JDBC驱动程序的实现,但一般来说,我不希望它起作用。

您需要的是批处理。您在批处理中插入所有语句,然后执行批处理。这是mysql特有的解决方案:为什么它应该依赖JDBC?您在哪里找到的?没有指定此b因此JDBC实现者可以自由地做任何她能想到的事情for@XtremeBaumer在这个问题中,TO指的是同一字符串中的不同SQL,而这不是JDBC中批处理的目标。那么批处理的目标是什么?正如我所展示的,您可以在一个字符串中执行不同的SQL,即使是我所展示的它是一个字符串数组。你想告诉我如何多次执行同一个语句。是吗?现在看看。真的很难猜测如何使用多个语句吗?@XtremeBaumer准备好的语句中的参数何时更改?你如何动态更改它?你不能。如果你想在nce,您只能使用fixed语句,否则您的代码将非常大,然后您可以通过设置参数并将其添加到批处理来手动执行。如果您有一个获得不同参数的查询,并且希望一次添加所有查询,则批处理是好的。将您的最后一条注释添加到answet。在这种情况下,我将批准批处理