English 中文(简体)
Jython,动态查询多列
原标题:
  • 时间:2009-01-14 14:49:41
  •  标签:

我正在使用Oracle数据库和Jython工作。

我可以毫不费力地从数据库中获取数据。

results = statement.executeQuery("select %s from %s where column_id =  %s ", % (column, table, id))

如果我想提取一列数据,这个工作很好。

假设我想要遍历类似这样的列表:

columns = [ column1 ,  column2 ,  column3 ,  column4 ,  column5 ]

因此,查询最终看起来像这样:

results = statement.executeQuery("select %s, %s, %s, %s, %s from %s where column_id =  %s ", % (column1, column2, column3, column4, column5, table, id))

我该怎么做?

我想实现这个的原因是因为我可能想提取6或7列,我希望将不同的查询存储在外部文件中。

我希望你能理解我的意思。如果没有,我会尽力用最好的方式重新表达。

干杯

亚瑟

最佳回答

您可以将所有列都替换为查询的单个字符串,像这样:

columns = [ column1 ,  column2 ,  column3 ,  column4 ,  column5 ]
results = statement.executeQuery("select %s from %s where column_id =  %s " % (",".join(columns), table, id))

顺便说一下,这并不能防止SQL注入,因此我认为列,表和ID输入是程序生成的或已经过清理的。

问题回答

暂无回答




相关问题
热门标签