Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.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 使用带有Oracle数据库上的绑定变量的PreparedStatement获取激发的查询_Java_Sql_Jdbc_Prepared Statement - Fatal编程技术网

Java 使用带有Oracle数据库上的绑定变量的PreparedStatement获取激发的查询

Java 使用带有Oracle数据库上的绑定变量的PreparedStatement获取激发的查询,java,sql,jdbc,prepared-statement,Java,Sql,Jdbc,Prepared Statement,编辑:我正在使用Oracle 我正在使用PreparedStatement编写一个动态查询,如下所示 String query="UPDATE <tablename> SET column1=?,column2=?,.....,coulmn7=? WHERE " + "column5=TO_DATE(?,'DD/MM/YYYY') AND " + "column6=? AND " .... + "col

编辑:我正在使用Oracle

我正在使用
PreparedStatement
编写一个动态查询,如下所示

String query="UPDATE <tablename> SET 
        column1=?,column2=?,.....,coulmn7=? WHERE "
        + "column5=TO_DATE(?,'DD/MM/YYYY') AND "
        + "column6=? AND "
        ....
        + "column7=?";

PreparedStatement prest2=con2.PrepareThisStatement(query);

while(true){

   //loop through and bind values
   if(end of list) break;
}
 prest2.executeUpdate(query);
String query=“更新集
第1列=?,第2列=?,…,第7列=?其中“
+第5列=截止日期('DD/MM/YYYY')和
+“第6列=?和”
....
+“第7列=?”;
PreparedStatement prest2=con2.PrepareThisStatement(查询);
while(true){
//循环并绑定值
如果(列表末尾)中断;
}
prest2.执行更新(查询);
我需要跟踪在数据库中触发的查询,并将它们记录在表中


但是,当使用
PreparedStatement
时,我无法获取整个查询,也无法将值存储在单独的字段中。是否有方法获取在数据库中触发的最终查询。

您可以使用1
prest2.toString()

正确。完全重复。@PradeepSimha:编辑了这篇文章,请参见,在使用Oracle时,打印
PreparedStatement
的建议不适用。我也不想使用日志api。@SangeetMenon,据我所知,JDBC中没有实现相同功能的工具。据我所知,它只适用于MySQL驱动程序。