1
我在寫一個執行不同的sql語句(query,dml,ddl,dcl)的程序。我如何確定執行的語句(方法boolean Statement#execute(String s)
)是ddl或dcl。我知道如何確定一個查詢。當方法返回true
時,當statement#execute()
返回值爲false時,語句是查詢,則它可以是dml,ddl或dcl。那麼如何確定聲明的類型?在jdbc中確定DDL語句
我在寫一個執行不同的sql語句(query,dml,ddl,dcl)的程序。我如何確定執行的語句(方法boolean Statement#execute(String s)
)是ddl或dcl。我知道如何確定一個查詢。當方法返回true
時,當statement#execute()
返回值爲false時,語句是查詢,則它可以是dml,ddl或dcl。那麼如何確定聲明的類型?在jdbc中確定DDL語句
結果的存在(== true)不一定表示查詢。例如在PostgreSQL中,DELETE語句也可以返回結果(當使用returning
子句時)。
要處理語句的所有結果或更新計數,您需要實現以下與getMoreResults()
的Javadoc文檔的指導方針循環:
有沒有更多的結果時,符合下列條件:
// stmt是Statement對象
((stmt.getMoreResults(電流)== FALSE)& &(stmt.getUpdateCount()== - 1))
我編輯了我的問題。我沒有告訴我,我正在使用oracle – maks
@maks:獲取所有結果和更新計數的規則仍然適用。 –
如果execute(String sql)只能獲取一個查詢作爲參數,execute()方法如何返回多個結果集? – maks