SQLite Query返回null

时间:2011-10-13 12:30:59

标签: android sqlite cursor

我做了什么


我有一个Gridview,它通过imageID填充在我的数据库中。现在我设置了一个onItemClickListner,我得到了imageID - >这个有效!现在我想用那个imageID搜索我的数据库,但它总是返回“null”,但这不应该是因为如果我的数据库完全填充了那些imageID。 表的结构是:RowID |来源|信息 在Info i中存储了imageID的

问题


如何更改Cursor,我可以通过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;
    }

我如何获得imageID-back


    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”。
  2. 如果您需要更多代码,请告诉我 请提前帮助你! 最好的祝福 狩猎

1 个答案:

答案 0 :(得分: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);