SqLiteDatabase数据库rawQuery()方法如何工作?

时间:2012-06-04 01:23:03

标签: android sqlite

我试图弄清楚它是如何工作的,但我失去了绑定的发生方式?是什么需要获得valueOf()?字符串数组中的参数是不是只是字符串?

private final String MY_QUERY = "SELECT * FROM table_a a INNER JOIN table_b b "+
"ON a.id=b.other_id WHERE b.property_id=?";

db.rawQuery(MY_QUERY, new String[]{String.valueOf(propertyId)});

我也想连接表,但不知道如何正确设置它,至少是String数组的参数。

1 个答案:

答案 0 :(得分:1)

我认为这两行代码是你找到某些地方的例子吗? String.valueOf是一个标准的java函数。如果propertyId是int,则将int转换为String。 您可以省略参数String [],并在sql字符串中对您的参数进行硬编码,但这不是一个好的编程习惯。我不确定我理解你关于“绑定”的问题,但是会发生的是peropertyId(由valueOf转换为String)的值被插入到问号的查询中。