2014-03-12 28 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);