2013-07-31 56 views
0

我試圖將我插入到數據庫中的最新行插入到遊標中。 我已經嘗試了許多類型的查詢,似乎沒有任何工作。遊標不會返回一行,不管是什麼

,這裏是我的代碼:

public Expense createExpense(Expense expense) { 
    ContentValues values = new ContentValues(); 
    values.put(ExpDataBase.COLUMN_DESCRIPTION, expense.getDesc()); 
    values.put(ExpDataBase.COLUMN_amount, expense.getAmount()); 
    values.put(ExpDataBase.COLUMN_DATE, expense.getDate().toString()); 
    values.put(ExpDataBase.COLUMN_category, expense.getCategory()); 

    Integer insertId =(int) database.insert(ExpDataBase.TABLE_NAME, null, 
      values);  

    String id="'"+insertId.toString()+"'"; 

    Cursor c = database.query(ExpDataBase.TABLE_NAME, null, 
      null, null, null, null, null); 
int i= c.getCount(); 


    Cursor cursor= database.query(ExpDataBase.TABLE_NAME, null,ExpDataBase.COLUMN_ID+"="+id, null, null, null, null); 

*插入方法的工作,我已經看到了數據庫表中的行。 * getCount返回的數字與insertId相同

但是當我嘗試將最後一行放入遊標中時,我什麼也沒有得到,我在遊標中看到它在行數中返回-1。

im lost。請幫我:(

+0

什麼字符串值是'ExpDataBase.COLUMN_ID'? – ddmps

回答

0

如果我沒有記錯的你有你的問題在查詢

String[] fields = new String[]{ExpDataBase.COLUMN_ID}; 
Cursor cursor= database.query(ExpDataBase.TABLE_NAME, fields,ExpDataBase.COLUMN_ID+"="+id, null, null, null, null); 
+0

它沒有工作,謝謝儘管! –

+0

@PavelKrivosheev你確定「String id =」'「+ insertId.toString()+」'「;」的ID是否正確? – Dporem

0
public Expense createExpense(Expense expense) { 
ContentValues values = new ContentValues(); 
values.put(ExpDataBase.COLUMN_DESCRIPTION, expense.getDesc()); 
values.put(ExpDataBase.COLUMN_amount, expense.getAmount()); 
values.put(ExpDataBase.COLUMN_DATE, expense.getDate().toString()); 
values.put(ExpDataBase.COLUMN_category, expense.getCategory()); 

long insertId = database.insert(ExpDataBase.TABLE_NAME, null, 
     values);  

String id="'"+insertId.toString()+"'"; 

Cursor c = database.query(ExpDataBase.TABLE_NAME, null, 
     null, null, null, null, null); 
int i= c.getCount(); 


Cursor cursor= database.query(ExpDataBase.TABLE_NAME, null,ExpDataBase.COLUMN_ID+"=?", new String[]{String.valueOf(insertId)}, null, null, null); 
+0

nope,仍然返回零行..謝謝:\ –

+0

什麼是你的代碼從遊標中獲取行? –

相關問題