我目前正在创建一个数据库来存储服务站的名称和坐标列表。但是,当我单击视图按钮时,我无法查看数据库。这是我的代码:`
public String getData()
{
// TODO Auto-generated method stub
String[] columns = new String[]{ KEY_ROWID, KEY_NAME, KEY_COORDINATES};
Cursor c = myDatabase.query(DATABASE_NAME, columns, null, null, null, null, null);
String result = "";
int iRow = c.getColumnIndex(KEY_ROWID);
int iName = c.getColumnIndex(KEY_NAME);
int iCoordinates = c.getColumnIndex(KEY_COORDINATES);
for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext())
{
result = result + c.getString(iRow) + " " + c.getString(iName) + " " + c.getString(iCoordinates) + "\n";
}
return result;
}`
是否有人发现此代码存在问题?
答案 0 :(得分:0)
您的光标可能不包含任何行。如果是这样,c.getString()将抛出异常。
moveToFirst()在出错时返回false。你的循环是这样的:
if (c.moveToFirst())
{
do
{
result = result + c.getString(iRow) + " " + c.getString(iName) + " " + c.getString + "\n";
} while (c.moveToNext())
}
那么你可以处理为什么你的表没有行,如果实际上是这样的话......