我想执行一个查询来从表中检索一些数据。问题与androidquery中的rawQuery()
下面是我的查询:
cursor = myDB.rawQuery("SELECT * FROM myTable WHERE myNumber="+"'myCustomNumber'", null);
其中mynumber的是 'TEXT'
但每次我得到cursor.getCount() = 0;
时间的类型,似乎有一个在我的查询是错误的。
请让我知道上面查询的正确方法。
我想执行一个查询来从表中检索一些数据。问题与androidquery中的rawQuery()
下面是我的查询:
cursor = myDB.rawQuery("SELECT * FROM myTable WHERE myNumber="+"'myCustomNumber'", null);
其中mynumber的是 'TEXT'
但每次我得到cursor.getCount() = 0;
时间的类型,似乎有一个在我的查询是错误的。
请让我知道上面查询的正确方法。
我想你应该是下面的代码使用:
光标= myDB.rawQuery( “SELECT * FROM myTable的WHERE mynumber的= ' ”+ myCustomNumber +“'”,NULL);
我希望它能为你工作。
在您的查询中,作为myNumber传递的参数由于其周围的双引号而成为文本。
将其更改为,
cursor = myDB.rawQuery("SELECT * FROM myTable WHERE myNumber = ' " + myCustomNumber + "'", null);
试试这个
字符串PHONENO = “0000000000”;
String query =“Select * from where mynumber ='”+ phoneNo +“'”;
cursor = myDB.rawQuery(query,null);
您可以执行查询即
rawQuery("SELECT * FROM myTable WHERE myNumber= = ? ", new String[] {"myCustomNumber"});
在你已经使用的数量尚未在引号传递的查询。
cursor = myDB.rawQuery("SELECT * FROM myTable WHERE myNumber="+"'myCustomNumber'", null);
该查询将意味着myNumber= myCustomNumber
字面上,而不是一个变量的值。
你需要之前和之后你myCustomNumber像加引号:
cursor = myDB.rawQuery("SELECT * FROM myTable WHERE myNumber="+"'"+myCustomNumber+"'", null);
你是从字面上搜索'为mynumber ='myCustomNumber''。除非'myCustomNumber'实际上是你正在寻找的值,这看起来像是一个错字。 – njzk2