我正在尝试使用android学习SQLite的SQL数据库。我看过几个Queries的例子......
我在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部分
这种格式是否允许我指定尽可能多的参数。
示例:
db.delete(MYTABLE, "val1 = ? and val2 != ?", new String[] { "test", "test2" } );
答案 0 :(得分:1)
请参阅我的帖子:
Storing Lists to A Database, and Retrieving Them All Together : Android
简短回答你的问题,是。
每个'?'意味着会有一个参数,所以每个'?'除非你想要一个例外,否则将拥有确切数量的参数传递:)!