2
如何使用預準備語句從數據庫檢索結果集?我不知道如何繼續從我的代碼,我設法得到準備好的語句的查詢和變量,現在我被困在從數據庫中檢索。Java從數據庫檢索結果
如何使用預準備語句從數據庫檢索結果集?我不知道如何繼續從我的代碼,我設法得到準備好的語句的查詢和變量,現在我被困在從數據庫中檢索。Java從數據庫檢索結果
您無法通過字段名作爲參數。只有數據可以像這樣傳遞。條件
WHERE ?=?
-- ^
與替代Field1
和field1
將字面解釋,因爲
WHERE 'Field1'='field1' -- note the quotes around the values
如果你想構建從字段名的情況下,你需要構造SQL字符串本身。例如,你可以通過
SELECT * FROM Table1 WHERE %s=?
,並把它作爲一個格式字符串爲formatter,傳遞Field1
的說法替代%s
。
要非常小心的字段的名稱不被用戶進入的:任何SQL成爲字符串的一部分必須來自於你的程序或它的配置文件,以避免SQL注入攻擊的常量池。
哦,我明白了,謝謝!但讓我們說,如果我想顯示結果集,我如何從傳遞的字段中列出它們? – newbie95
@ newbie95使用['ResultSetMetaData'](http://stackoverflow.com/a/696798/335858)。 – dasblinkenlight
@dashblinkenlight對不起,我的意思是什麼,如果從另一個類它通過像查詢「從表中選擇字段1,字段2在哪裏......」,我怎麼把字段1和字段2(取決於查詢通過字段數)進入準備語句讓我檢索結果集? – newbie95