2014-03-12 23 views
0

我想执行一个查询来从表中检索一些数据。问题与androidquery中的rawQuery()

下面是我的查询:

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

其中mynumber的是 'TEXT'

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

时间的类型,似乎有一个在我的查询是错误的。

请让我知道上面查询的正确方法。

+0

你是从字面上搜索'为mynumber ='myCustomNumber''。除非'myCustomNumber'实际上是你正在寻找的值,这看起来像是一个错字。 – njzk2

回答

0

我想你应该是下面的代码使用:

光标= myDB.rawQuery( “SELECT * FROM myTable的WHERE mynumber的= ' ”+ myCustomNumber +“'”,NULL);

我希望它能为你工作。

1

在您的查询中,作为myNumber传递的参数由于其周围的双引号而成为文本。

将其更改为,

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

试试这个

字符串PHONENO = “0000000000”;

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

cursor = myDB.rawQuery(query,null);

0

您可以执行查询即

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

在你已经使用的数量尚未在引号传递的查询。

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

该查询将意味着myNumber= myCustomNumber字面上,而不是一个变量的值。

你需要之前和之后你myCustomNumber像加引号:

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