Java Android:从sqlite数据库检索数据

Java Android:从sqlite数据库检索数据,java,android,database,sqlite,Java,Android,Database,Sqlite,我目前的数据库设置如下: db.execSQL("CREATE TABLE " + DATABASE_TABLE + " (" + KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + KEY_LOCKERNUMBER + " TEXT NOT NULL, " + KEY_STATUS + " INTEGER, " + KEY_PIN

我目前的数据库设置如下:

db.execSQL("CREATE TABLE " + DATABASE_TABLE + " (" + KEY_ROWID
                    + " INTEGER PRIMARY KEY AUTOINCREMENT, " + KEY_LOCKERNUMBER
                    + " TEXT NOT NULL, " + KEY_STATUS + " INTEGER, " + KEY_PIN
                    + " INTEGER);");

我正在尝试编写一个方法,从列中获取特定储物柜号码的pin码。有什么想法吗?我是个新手,我想我需要使用查询函数和游标。我只需要一个来获取整数值并将其存储到一个int变量中,这样我就可以将用户键入的pin码与数据库中的pin码进行比较。

这是一项非常简单的任务,有一系列,:

一般来说,您需要通过搜索参数查询数据库。看

它将返回一个匹配结果,您可以和


仅供参考-在数据库表中存储密码是个坏主意。Android上的数据库可以访问并轻松阅读。您需要对数据进行加密,或者如果数据很重要,可以考虑另一种存储方式。

对数据库的查询将在
光标对象中返回。您应该使用
db.query()
方法获取行。传递表名、要获取的列数组(如果需要所有列,则为null),传递一个类似于
“id=?”
“key>?”
等的选择字符串,然后传递一个字符串数组,该数组包含前一个字符串中那些
的值, 最后,为
having
groupBy
orderBy
传递null,除非您想使用它们

Cursor Cursor=db.query(表名,新字符串[]{KEY\u ROWID},“id=?”,新字符串[]{Integer.toString(id)},null,null,null)

获取
光标后,执行
光标.moveToFirst()
光标.moveToPosition(0)
(不记得确切的方法,但关键是将光标移动到检索到的第一行)

然后,您将使用

while(cursor.moveToNext()) {
     int keyRowIdColumnIndex = cursor.getColumnIndex(KEY_ROWID);
     int yourValue = cursor.getInt(keyRowIdColumnIndex);

     int keyLockNumberColumnIndex = cursor.getColumnIndex(KEY_LOCKNUMBER);
     int pin = cursor.getInt(keyLockNumberColumnIndex);
}
//试试这段代码
公共字符串getLabeId(字符串锁号)
{
ArrayList Key_Pin_array=新建ArrayList();
Cursor cur=db.rawQuery(“从数据库表中选择*,其中键为“\u LOCKERNUMBER=”+LockNo+”,null);
试一试{
while(cur.moveToNext())
{
System.out.println(“Key_Pin”+cur.getString(3));
Key_Pin_array.add(cur.getString(3));
}
} 
捕获(例外e)
{
System.out.println(“数据库()中的getLabelID错误:”+e);
}
最后
{
cur.close();
}
返回id;
}
         //Try This code 

         public String getLabeId(String LockNo)
     {

    ArrayList<String> Key_Pin_array = new ArrayList<String>();
    Cursor cur = db.rawQuery("SELECT * FROM  DATABASE_TABLE where KEY_LOCKERNUMBER = '" + LockNo + "'", null);
    try {
             while (cur.moveToNext()) 
              {
                    System.out.println("Key_Pin" + cur.getString(3));
                    Key_Pin_array.add(cur.getString(3));
              }
        } 
        catch (Exception e)
        {
                System.out.println("error in getLabelID in DB() :" + e);
        }
        finally 
        {
                cur.close();
        }
    return id;
 }