2012-02-25 56 views
3

我在我的Java程序中使用了PreparedStatement。我需要調試SQL查詢,因爲它不能正常工作。如何在使用PreparedStatement(JDBC)時打印使用的SQL查詢

是否有去打印用的PreparedStatement插入

例如值所使用的SQL語句:

SELECT * FROM表其中a =?

和比我設定的?

可以我打印使用SQL,例如:

SELECT * FROM表,其中a = 1

+2

http://stackoverflow.com/q/2683214/839527上一個問題將幫助你。 – JProgrammer 2012-02-25 16:11:57

+1

有一個很好的討論這個問題[這裏](http://stackoverflow.com/questions/2382532/how-can-i-get-the-sql-of-a-preparedstatement) – mut1na 2012-02-25 16:20:54

回答

3

它不能與java.sql.PreparedStatement接口本身進行;它取決於數據庫供應商的實施。

但是你很幸運; MySQL驅動程序允許您使用它的toString實現它做的事:

http://www.avajava.com/tutorials/lessons/how-do-i-display-a-prepared-statement-with-bind-variables-using-mysql.html

你需要注意,使用該供應商特定的功能,結合你的代碼到MySQL。不能更改數據庫而不更改代碼。

+0

謝謝...沒關係我只打算將它用於調試目的。 – user836026 2012-02-25 16:13:19

相關問題