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