Java 我怎么看我准备好的报表?

Java 我怎么看我准备好的报表?,java,jdbc,prepared-statement,Java,Jdbc,Prepared Statement,可能重复: 我制作了一个PreparedStatement(PS)并在其上运行一些setString(inta,stringb)。 在这之后,我如何看到我的PS最终是什么样子的?如果我理解你的意思,你会想要这样的东西: PreparedStatement pstmt = connection.prepareStatement("insert into table tab(col) values(?)"); pstmt.setString(1, "my s

可能重复:

我制作了一个PreparedStatement(PS)并在其上运行一些setString(inta,stringb)。
在这之后,我如何看到我的PS最终是什么样子的?

如果我理解你的意思,你会想要这样的东西:

    PreparedStatement pstmt = 
           connection.prepareStatement("insert into table tab(col) values(?)");
    pstmt.setString(1, "my string value");
然后你想看到一个字符串,比如:

"insert into table(col) values('my string value')"
我理解你的意思了吗

如果是这样,我想你不能那样做。我认为该语句是在没有参数值的情况下预编译的,并且这些参数值是分开保存的,因此您可以使用不同的参数重用该语句

您可以做的是检索参数元数据,如下所示:

    ParameterMetaData pmd = pstmt.getParameterMetaData();
然后打电话给这样的人:

    pmd.getParameterCount();
    pmd.getParameterClassName(1);
    pmd.getParameterType(1);

可能的重复取决于驾驶员。看@Betoverse啊,当然可以。在与Oracle合作多年后,有时我会忘记一些特定于该供应商的东西,并将它们误认为是标准。谢谢你的意见。是的,看来我做不到。在ParameterMetaData和ParameterMetaData的JavaDocs中,我没有看到任何方法可以满足我的需求。您使用的是什么数据库?Oracle、Derby、MySql等等?尝试回答Betoverse提供的问题,尝试通过
System.out.println(pstmt)打印语句