2012-04-12 54 views
0

現在我的代碼如下所示:或操作在WHERE子句

Cursor cursor = getContentResolver().query(messagesUri, null,"address=?", smsNo, null); 

其中smsNo是一個單陣列。

我想向該數組添加元素並在WHERE子句中實現OR操作。這可能會繼續使用數組嗎?

+0

光標光標= getContentResolver()的查詢(messagesUri,NULL, 「地址=?」 + 「您的值」 + 「或地址=?」,smsNo,NULL);。 – 2012-04-12 17:35:06

+0

我不會推薦將用戶提供的查詢值直接放入查詢字符串中,你打開自己的SQL注入攻擊的可能性。在這種情況下,這可能並不嚴肅,但避免這些問題是一個很好的習慣,因爲這很重要。 – Jules 2012-04-12 17:40:32

回答

0

我不太清楚你在問什麼,但你當然可以繼續在這裏使用數組。如果您問如何擴展現有數組以獲得更多項目,則可以使用Arrays.copyOf(oldArray,newSize)在其中創建更多空間。然後你可以使用多個?查詢字符串中的佔位符引用新項目。

例如:

queryParameters = Arrays.copyOf(smsNo, 2); 
queryParameters[1] = "another number" 

Cursor cursor = getContentResolver().query(messagesUri, null,"address=? or address=?", queryParameters, null); 
+0

我過於複雜的情況在這裏,我雖然你不知何故必須指定queryParameters中的值的確切位置(如queryParameters [0]等)。無論如何,這正是我所尋找的,謝謝! – user1301428 2012-04-12 17:58:45