我正在编写一个简单的查询,可以从android中的表中获取特定的字段记录。
这是我的表设计:
用户ID,姓名,总标记,(所有字符串)
这是我的查询:
public String getTotalMarks(String UserID)
{
String mark = "0";
SQLiteDatabase db = this.getWritableDatabase();
String queryMarks = "SELECT * FROM " +TABLE_MARK_DETAILS +" WHERE " +KEY_USERID + " =" + UserID ;
Cursor cursor = db.rawQuery(queryMarks, null);
if (cursor.moveToFirst())
{
do
{
mark = cursor.getString(0);
}
while (cursor.moveToNext());
}
Log.e("Cursor", "Value" +mark);
cursor.close();
db.close();
return mark;
}
我得到了完美的结果。我想知道有没有比上面更好的查询数据库的方法?
答案 0 :(得分:1)
public String getTotalMarks(String UserID) {
String mark = null;
SQLiteDatabase db = this.getReadableDatabase();
String queryMarks = "SELECT " + KEY_TOTALMARKS + " FROM " + TABLE_MARK_DETAILS + " WHERE " +KEY_USERID + " =" + UserID;
Cursor cursor = db.rawQuery(queryMarks, null);
if(null != cursor){
if(cursor.moveToFirst() && 0 < cursor.getCount()){
mark = cursor.getString(0);
}
cursor.close();
}
Log.e("Cursor", "Value" + mark);
db.close();
return TextUtils.isEmpty(mark) ? "0" : mark;
}