【发布时间】:2014-09-27 19:54:00
【问题描述】:
我无法从以下 SQLite 选择查询函数中添加读取数据。我有一个包含 3 列的表,即 driverID、driversName、driversNo。
它应该返回一个简单的字符串,但是唉。
public String readDrivers() {
Cursor cursor = database.query(MySQLiteHelper.PROFILE_TABLE_NAME, necessaryColumns, null, null, null, null, null);
if (cursor != null){
cursor.moveToFirst();
Log.v("TEST", Integer.toString(cursor.getCount()));
Log.v("TEST", cursor.getColumnName(0));
Log.v("TEST", cursor.getColumnName(1));
Log.v("TEST", cursor.getString(0));
Log.v("TEST", cursor.getString(1));
}
String returnString = cursor.getString(0) + cursor.getString(1);
return returnString;
}
以下是 LogCat 的最新结果。两个字符串结果不显示。
08-04 20:27:35.271: V/TEST(25126): 1
08-04 20:27:35.271: V/TEST(25126): driversName
08-04 20:27:35.271: V/TEST(25126): driversNo
【问题讨论】:
-
你确定这些列实际上有值吗?
-
什么是
necessaryColumns?moveToFirst()的返回值是多少? -
由于返回了 1 条记录,让我假设您的两个列都包含 null 或 空字符串。我假设 null,因为
Log.v失败 打印。 -
你可以添加一个try和catch块来检查是否产生任何异常吗?
标签: android sql sqlite persistent-storage