有表別名的 JDBC 結果集列
執行類似「SELECT * from table1 a, table2 b where (WHATEVER)」這樣的查詢時,使用「resultSet.getString(「a.columnName」)」存取資料或「resultSet.getString(「b.columnName」)」失敗。
JDBC API 沒有明確解決這種情況,使其依賴供應商。但是,您可以透過以下方式解決此問題:
選項1:列重新命名
使用別名在查詢中以不同方式命名列,例如:
然後在你的Java中引用這些別名code:
選項2:列位置
按結果集中的位置引用列:
注意JDBC使用基於一的索引,第一列從1 開始。
為了安全性和可維護性, 建議選項 1(列重命名)。如果查詢的列順序發生變化,則在存取錯誤的列時,您的程式碼將悄無聲息地中斷。相比之下,更改列名稱將引發「無此類列」異常,提醒您注意該問題。
以上是如何使用表別名存取 JDBC 結果集列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!