2011-10-13 190 views
1

我所做的SQLite的查詢返回null


我有一個充滿了我的圖像標識的數據庫一個gridview。現在我設置了一個onItemClickListner與我得到的imageID - >這個作品!現在我想用這個imageID搜索我的數據庫,但是它總是返回「null」,但這不應該是因爲如果我的數據庫完全用這些imageID填充。 表的結構是:RowID |來源| INFO 在信息存儲我的圖像標識的

問題


怎麼辦我要改變光標,我可以克服信息的條目。 到這裏你會發現我的光標的代碼:

代碼:


//Es wird nach der ID des smiley gesucht. 
    public Cursor getSmiley(String info) throws SQLException { 

     Cursor mCursor = 

     this.mDb.query(true, DATABASE_TABLE, new String[] { INFO, SOURCE, 
       }, INFO + "=" + info, null, null, null, null, null); 
     if (mCursor != null) { 
      mCursor.moveToFirst(); 
     } 
     return mCursor; 
    } 

我如何獲得圖像標識回


public void onItemClick(AdapterView<?> parent, View v, int position, long id) { 
    Toast.makeText(SFilterConfigActivity.this, "" + position, Toast.LENGTH_SHORT).show(); 


    //Hier wird herrausgefunden welche ID das Bild hat und in den jeweiligen String gespeichert 
    source = String.valueOf(v.getId()); 
    Log.v("IMAGEID", source); 
    SmileyHelper.open(); 

    Cursor c = SmileyHelper.getSmiley(source); 
    startManagingCursor(c); 

     if (c != null){ 
      String size = String.valueOf(c.getCount()); 
      Log.v("WhatsInC", size); 
     } 


    if (c.moveToFirst()) { 
     do { 
     text = c.getString(c.getColumnIndex(SmileyDBAdapter.SOURCE)); 
     Log.v("WHATINTEXT", text); 
     smiley = c.getString(c.getColumnIndex(SmileyDBAdapter.INFO)); 
     Log.v("WHATINSMILEY", smiley); 
     } while (c.moveToNext()); 
    SmileyHelper.close(); 

其它信息:

  1. WhatIsInC,返回 「0」。

如果您需要更多的代碼,只需告訴我 Thx爲您的幫助提前! 問候 野生動物園

+0

我改變它,但它的仍爲空......執行是不確定的.. :( – safari

+0

執行是不確定的.. :( – safari

+0

但比我必須刪除光標權?因爲這是無效的。 – safari

回答

2
public Cursor getEmpByDept(String Dept) 
    { 
    SQLiteDatabase db=this.getReadableDatabase(); 
    String [] columns=new String[]{"_id",colName,colAge,colDeptName}; 
    Cursor c=db.query(viewEmps, columns, colDeptName+"=?", 
    new String[]{Dept}, null, null, null); 
    return c; 
    } 

的db.query具有以下參數:

1.String Table Name: The name of the table to run the query against 
2.String [ ] columns: The projection of the query, i.e., the columns to retrieve 
3.String WHERE clause: where clause, if none pass null 
4.String [ ] selection args: The parameters of the WHERE clause 
5.String Group by: A string specifying group by clause 
6.String Having: A string specifying HAVING clause 
7.String Order By by: A string Order By by clause 

所以,在您的查詢,

this.mDb.query(DATABASE_TABLE, new String[] { INFO, SOURCE },INFO + " = '" + info + "'" , null, null, null, null, null); 

this.mDb.query(DATABASE_TABLE,new String[] {INFO, SOURCE},INFO + " = ?",new String[] 
{info},null, null, null, null); 
+0

我改變了它,但我仍然得到「空」是否有可能它與onItemClickListner todo的東西.. – safari

+0

我把hardcode值放在if,但我也得到null。所以可能如果不工作..順便說一句。它也不會放棄我的Log.v中的if。 – safari

+0

什麼?我正在用logcat進行調試。 – safari