2011-04-18 38 views
0

我想學習使用android的SQLite SQL數據庫的東西。我見過幾個查詢的例子....android數據庫通過SQLIteDatabase

我有一個關於android中的sqlite查詢的兩部分問題。

第1部分

說我要刪除的東西。並使用以下查詢。

db.delete(MY_DB_TABLE, "CustomerName = ?", new String[] { customerName }); 

如果客戶名稱中包含糟糕的字符,會發生什麼情況。

例如。如果我使用以下查詢

db.execSQL("delete from " + MY_DB_TABLE + 
      " where customername = '" + customerName + "';"); 

並且說這個例子中我的客戶的名字是「Arby's」。

該查詢會爆炸,因爲'是特殊字符,查詢將無法正確格式化。

第2部分

沒有這種格式允許,我想我指定儘可能多的PARAMATERS。

例子:

db.delete(MYTABLE, "val1 = ? and val2 != ?", new String[] { "test", "test2" }); 

回答

1

請參考這裏我的帖子:

Storing Lists to A Database, and Retrieving Them All Together : Android

和簡短的回答你的問題,

每個'?'意味着會有一個爭論,所以對於每一個'?'你有確切數量的參數傳入,除非你想要一個例外:)!

+0

您是否知道數據庫對象是否安全鍵入項目。用安全的結果值省略不正確的sql。或者是我作爲程序員的責任。 – 2011-04-18 23:42:25

+0

這是你的工作,捕捉異常並儘可能地處理它們。如果它不符合預期,它會拋出異常。 – JoxTraex 2011-04-18 23:45:04