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;
}