Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.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 使用什么:executeUpdate()或execute()?_Java_Jdbc_Prepared Statement - Fatal编程技术网

Java 使用什么:executeUpdate()或execute()?

Java 使用什么:executeUpdate()或execute()?,java,jdbc,prepared-statement,Java,Jdbc,Prepared Statement,请告诉我在这两种方法中,executeUpdate和execute是插入查询的最佳方法,如插入用户(姓名、地址、城市、性别、出生日期)值(?,,,,?,?)这两条语句都将执行查询,但哪一条语句最适合用于插入查询?返回值不同。ExecuteUpdate()返回更新的行数,这在运行update语句时非常有用。在您的情况下,不需要它,因为您知道要插入多少条记录。您可以使用任何一个。原则上,只有返回值不同。但是,我发现使用jConnect 3访问Sybase ASE 15.7时,execute()函数在

请告诉我在这两种方法中,executeUpdateexecute是插入查询的最佳方法,如
插入用户(姓名、地址、城市、性别、出生日期)值(?,,,,?,?)这两条语句都将执行查询,但哪一条语句最适合用于插入查询?

返回值不同。ExecuteUpdate()返回更新的行数,这在运行update语句时非常有用。在您的情况下,不需要它,因为您知道要插入多少条记录。您可以使用任何一个。

原则上,只有返回值不同。但是,我发现使用jConnect 3访问Sybase ASE 15.7时,execute()函数在触发器运行之前不会阻塞,直接关闭PreparedStatement将回滚更新。(插入1s睡眠可以使我尝试的一个查询工作。)相比之下,executeUpdate()不会遇到这个问题;它似乎做了正确的事情,并且在关闭PreparedStatement之前不需要任意睡眠。

您是否为每个语句读取了javadoc的可能副本?答案就在这里。所以正确地使用其中任何一个都没有好处?在这种情况下,正确使用哪种方法无关紧要?从可读性的角度来看,我认为
executeUpdate()
更清楚地表明,由于执行语句,数据将发生更改。