android中的rawQuery()问题

时间:2014-03-12 13:48:28

标签: android android-sqlite

我正在尝试执行查询以从表中检索一些数据。

以下是我的询问:

cursor = myDB.rawQuery("SELECT * FROM myTable WHERE myNumber="+"'myCustomNumber'", null);

其中myNumber的类型为“TEXT”

但每次我得到cursor.getCount() = 0;

我的查询似乎有误。

请告诉我上述查询的正确写法。

5 个答案:

答案 0 :(得分:1)

在您的查询中,作为myNumber传递的参数已成为文本,因为它周围有双引号。

将其更改为,

cursor = myDB.rawQuery("SELECT * FROM myTable WHERE myNumber = ' " + myCustomNumber + "'", null);

答案 1 :(得分:0)

我认为您应该使用以下代码:

cursor = myDB.rawQuery(" SELECT * FROM myTable WHERE myNumber ='" + myCustomNumber +"'",null);

我希望它对你有用。

答案 2 :(得分:0)

试试这个

String phoneNo =“0000000000”;

String query =“Select * from where mynumber ='”+ phoneNo +“'”;

cursor = myDB.rawQuery(query,null);

答案 3 :(得分:0)

你可以执行该查询,即

rawQuery("SELECT * FROM myTable WHERE myNumber= = ? ", new String[] {"myCustomNumber"});

答案 4 :(得分:0)

在您使用的查询中,该数字尚未在引号中传递。

cursor = myDB.rawQuery("SELECT * FROM myTable WHERE myNumber="+"'myCustomNumber'", null);  

该查询意味着myNumber= myCustomNumber 字面意思,而不是变量值。

您需要在myCustomNumber之前和之后添加引号,如:

cursor = myDB.rawQuery("SELECT * FROM myTable WHERE myNumber="+"'"+myCustomNumber+"'", null);