2012-07-03 47 views
0
name = namebox.getText().toString(); 
db.open(); 
Cursor c1 = db.executequery("SELECT _id FROM " + DATABASE_TABLE_CUSTOMER + " where name='" +name+"'"); 
_id = c1.getInt(c1.getColumnIndex("name")); 
Cursor c2 = db.executequery("SELECT amount FROM " + DATABASE_TABLE_CUSTOMER 
     + 
     " where _id=" + _id); 
Double amount = c2.getDouble(c2.getColumnIndex("amount")); 
Cursor c3 = db.executequery("SELECT arrear FROM " + DATABASE_TABLE_CUSTOMER + " where CUSTOMER_ID =" + _id); 
arrear = c3.getDouble(c3.getColumnIndex("arrear")); 
db.close(); 

这给我一个错误的字段错误请求。在我的适配器执行查询的方法如下所示:字段错误的错误请求

public Cursor executequery(String query) throws SQLException 
{ 
    Cursor mCursor = db.rawQuery(query, null); 
    if(mCursor != null){ 
     mCursor.moveToFirst(); 
    } 
    return mCursor; 
} 

任何人都可以告诉我什么我做错了。我在这个新的。

+0

你可以发布logcat吗? – FoamyGuy

回答

0

您在处理Cursor1时出现不一致。 getColumnIndex("name")不能成功,因为ID,而不是名称被选中。它应该是getColumnIndex("_id")

+0

谢谢我一段时间后才注意到它。 :) –