如何从sqlite中检索记录

时间:2013-03-09 07:06:56

标签: android sqlite

嗨,我是Android编程的新手,我创建了一个示例应用程序,允许用户从数据库中获取数据。但是它没有显示数据,它没有任何错误信息,只是没有显示它。数据库确认有数据。请检查我的代码也许我忘记了一些东西。感谢

public void onClick(View arg){
    name = txtNameS.getText().toString();
    if(arg.getId()==R.id.btnfortune){
            searchRecord(count);
            lblmessageS1.setText(name); // this is just for me to check     if it will be displayed and it is.
            lblmessageS2.setText(message);
    }

 }



 public void searchRecord(int count) throws SQLException {
    Cursor rsCursor;

    String [] rsFields = {"mesNum","Message"};

   rsCursor = dbM.dbase.query("MessageFile", rsFields, "mesNum = " + count, null, null, null, null, null);
    rsCursor.moveToFirst();

    if (rsCursor.isAfterLast()==false){

        message = rsCursor.getString(1);
    }

    rsCursor.close();
 }

计数方式初始化为1.数据库中有10条记录。并且数据库中有2列是mesNum和Message,我想要的只是显示消息列。

2 个答案:

答案 0 :(得分:1)

      // SQLiteDatabase sqldb
     Cursor rsCursor= sqldb.rawQuery("your query", null);
     if (rsCursor!= null) {
            if (rsCursor.moveToFirst()) {
                do {
                     // do here for get data   message = rsCursor.getString(1);
                   }while (cursor.moveToNext());
            }
            cursor.close();
        }

答案 1 :(得分:0)

在数组中只添加一个列名

String [] rsFields = {"Message"};

    cursor = dbM.dbase.query(true,"MessageFile", rsFields, "yourcolumn= "+count, null, null, null, null, null);

while( cursor != null && cursor.moveToNext() ) 
{
  cursor.getString(0);
}
cursor.close();