为什么选择参数仅适用于RawQuery中的where子句?

时间:2016-04-06 09:00:01

标签: android sqlite

为什么选择参数仅适用于RawQuery中的where子句,而不适用于例如from子句?

我问这个是因为在“from子句”中你可能和“where子句”中的内容相同,例如在使用连接时。

SELECT table1.field_x, table2.field_y FROM table1
LEFT OUTER JOIN table2 ON table1.field_x = table2.field_z AND table2.language =?
WHERE table1.language=?

我想像这样制作一个Rawquery:

RawQuery("SELECT table1.field_x, table2.field_y FROM table1
LEFT OUTER JOIN table2 ON table1.field_x = table2.field_z AND table2.language =?
WHERE table1.language=?",
new String[] {language, language}

它不会产生语义错误,也不会产生编译错误,但它在执行时不起作用。

1 个答案:

答案 0 :(得分:-1)

  

为什么选择参数仅适用于RawQuery中的where子句而不适用于

选择参数不适用于rawQuery,它适用于查询。

使用String数组参数创建rawQuery的最简单方法,以创建带有参数的新StringBuffer / StringBuilder对象并在SB中追加字符串。

有关rawQuery("select DISTINCT tbl_name from sqlite_master where tbl_name = '" + tableName + "'", null)