从SQLite db获取空值

时间:2011-11-09 17:16:05

标签: android sql sqlite null

我一直在玩我在网上找到的示例应用程序。只是换东西看它是如何运作的。昨天这不是问题。今天是一个不同的故事。我似乎把正确的信息写入数据库。我检查了日志输出。当我通过游标返回信息时,我得到“null”。所以,说我输入“Eggs”,“Bread”和“Candy”。我得到“null”,“null”和“null”。

这一切都始于添加杂货按钮的监听器。添加到数据库并将列表写入标签。

任何帮助?

  private void addEvent(String title) {
    SQLiteDatabase db = eventsData.getWritableDatabase();
    ContentValues values = new ContentValues();
    Log.v(TAG, "Adding " + title);
    values.put(EventsDataSQLHelper.TITLE, title);
            db.insert(EventsDataSQLHelper.TABLE, null, values);

  }

  private Cursor getEvents() {
    SQLiteDatabase db = eventsData.getReadableDatabase();
    Cursor cursor = db.query(EventsDataSQLHelper.TABLE, null, null, null, null,
        null, EventsDataSQLHelper.TITLE);    
    startManagingCursor(cursor);
    return cursor;
  }

  private void showEvents(Cursor cursor) {
    StringBuilder ret = new StringBuilder();
    while (cursor.moveToNext()) {            
      String title = cursor.getString(1);
      ret.append(title + "\n");
      Log.v(TAG, "SHOWING RET VARIABLE" + ret);
    }
    t.setText(ret);   

  }
  View.OnClickListener myhandler = new View.OnClickListener()
  {
      @Override
      public void onClick(View GLview) 
        {
            EditText eT = (EditText)findViewById(R.id.itemName1);
            editTextStr = eT.getText().toString();
            Log.v(TAG, editTextStr);
            if(editTextStr != null)
            {
                addEvent(editTextStr.toString());
                Cursor cursor = getEvents();
                showEvents(cursor);             
                eT.setText(null);
            }
        }
  };

1 个答案:

答案 0 :(得分:0)

确保光标指向结果cursor.moveToFirst()的第一个元素; 然后调用cursor.moveToNext()