2012-03-18 130 views
1

你好,任何帮助将是伟大的谢谢你! 我有3场在我的数据库表返回整数数组的SQLite查询数据

public static final String colExpID = "ExpenseID";  
public static final String colExpExpense = "ExpenseDisc"; 
public static final String colExpAmount = "Amount"; 

我的方法来查询数据

public Integer[] queryHouse() { 
     // TODO Auto-generated method stub 
     String[] columns = new String[]{colExpID,colExpExpense,colExpAmount}; 
     Integer[] Result = new Integer[]{};  
     Cursor c = ourDatabase.query(ExpenseTable, columns, null, null, null, null, null); 
     int iExpense = c.getColumnIndex(colExpExpense); 
     int iAmount = c.getColumnIndex(colExpAmount); 
     for(int i = 0; i < c.getCount();i++){ 
      if(c.getString(iExpense) == "House"){ 
      Result[i] = Integer.parseInt(c.getString(iAmount)); 
      } 
     } 
     return Result; 
    } 

我不知道我错过了什么谢谢!

+1

我也不清楚,你错过了什么,因为你没有指定什么是你所要完成的,你是如何在不及格的。 – SWeko 2012-03-18 10:04:23

回答

3

您正在比较字符串与==不正确。使用equals

if(c.getString(iExpense).equals("House")) 
    . 
    . 
    . 
+0

公共无效的onCreate(SQLiteDatabase分贝){ \t \t \t // TODO自动生成方法存根 \t \t \t db.execSQL( “创建表” + IncomeTable + “(” + colID + “整数PRIMARY KEY AUTOINCREMENT,” + colIncome +“money);”); db.execSQL(“create table”+ ExpenseTable +“(”+ colExpID +“Integer PRIMARY KEY AUTOINCREMENT,”+ colExpExpense +“text,”+ colExpAmount +“money);”); \t \t \t \t \t} – user996502 2012-03-18 19:36:26

0
public void onCreate(SQLiteDatabase db) { 
      // TODO Auto-generated method stub 
      db.execSQL("create table " + IncomeTable + " (" + colID + " Integer PRIMARY KEY AUTOINCREMENT, " + colIncome + " money);"); 
      db.execSQL("create table " + ExpenseTable + " (" + colExpID + " Integer PRIMARY KEY AUTOINCREMENT, " + colExpExpense + " text, " + colExpAmount + " money);"); 

     }