2013-01-04 88 views
2

我想有一個選項來調用'rawQuery'與一個整數列表傳遞給它,但它看起來我不能:所有'rawQuery'方法需要字符串陣列...爲什麼execSQL接受對象[]和原始查詢字符串[]

爲什麼?我可以爲每個傳入的int對象調用'toString',但我在這裏沒有看到任何邏輯。爲什麼Google不提供接受對象列表的rawQuery?

對此有任何限制或限制嗎?

大概我想念什麼?

謝謝。

回答

0

很可能是因爲rawQuery不是查詢的首選方法。而且由於sqlite列基本上沒有類型,所以它們可能不想在你傳遞的任何東西上假設調用toString。

SQLite支持列上的「type affinity」概念。 列的親和性是存儲在該 列中的數據的推薦類型。這裏的重要思想是建議使用這種類型,而不是 。任何列都可以存儲任何類型的數據。這只是 某些列在給出選擇的情況下會傾向於使用一個存儲類 而不是另一列。列的首選存儲類別稱爲其「親和力」 。

是否有原因想要使用rawQuery而不是execSQL

+0

execSQL不允許使用佔位符並允許SQL注入漏洞。 – Budda

相關問題