我在我的 DBAdapter.java 文件中使用以下代码从单个列中选择值
// Get make column from DB
public Cursor getMakeCol() {
String selectCol = "SELECT KEY_MAKE FROM " + DATABASE_TABLE;
Cursor c = db.query(DATABASE_TABLE, new String[]{KEY_MAKE}, selectCol, null,
null,null,null,null);
if (c != null) {
c.moveToFirst();
}
return c;
}
这就是我尝试从 main.java 内部使用 getMakeCol 的方式
// Display make recordset from database inside textview
private void displayMake(Cursor cursor) {
String message = "";
// populate the message from the cursor
// Reset cursor to start, checking to see if there's data:
if (cursor.moveToFirst()) {
do {
String make = cursor.getString(DBAdapter.COL_MAKE);
// Append data to the message:
message += "Make: " + make + "\n";
} while(cursor.moveToNext());
}
// Close the cursor to avoid a resource leak.
cursor.close();
displayText(message);
}
这由 onClick 事件激活,然后显示在文本视图中
// display column data
public void btnGetColClick(View v) {
Cursor cursor = myDb.getMakeCol();
displayMake(cursor);
}
但是,当我调试应用程序并激活 onClick 事件时,logcat 显示以下内容
07-25 16:11:58.300: E/SQLiteLog(1738): (1) near "SELECT": syntax error
上面的代码中是否有任何错误,有人可以解释为什么它没有做我需要的。
谢谢