PreparedStatement在插入值之前,有什么方法可以讓a接受數據類型嗎?方案是我正在獲取Excel(或OpenOffice)文檔,我對其進行了解析以將數據導入數據庫。有時,如果要表示數字0,則Excel中的單元格會留空。有沒有一種方法可以從準備好的插入語句中獲取列類型,以確保我必須解析哪個數據類型的值?我認為應該通過事先在表上運行select語句并僅查看ResultSet元數據來實現。但是,如果可能的話,我想解決這個問題。
2 回答

慕慕森
TA貢獻1856條經驗 獲得超17個贊
PreparedStatement
不支持。它可以讓您設置任何數據類型,但是當您執行查詢時,就是當數據類型不匹配時,您會得到SQLException
。
最好的選擇是使用SYSTEM CATALOG視圖來標識列數據類型,并相應地設置/推導值。
DB2具有此視圖SYSCAT.COLUMNS
來滿足您的需求。

RISEBY
TA貢獻1856條經驗 獲得超5個贊
您可以從準備好的語句中獲取參數元數據,它除其他外還包含參數數據類型。
ParameterMetaData metadata = preparedStatement.getParameterMetaData(); int type = metadata.getParameterType(col);
Java文檔getParameterMetaData()
添加回答
舉報
0/150
提交
取消