如何在新活动中查看数据库的结果?

时间:2012-03-05 14:11:43

标签: android sql database sqlite view

我目前正在创建一个数据库来存储服务站的名称和坐标列表。但是,当我单击视图按钮时,我无法查看数据库。这是我的代码:`

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

是否有人发现此代码存在问题?

1 个答案:

答案 0 :(得分:0)

您的光标可能不包含任何行。如果是这样,c.getString()将抛出异常。

moveToFirst()在出错时返回false。你的循环是这样的:

if (c.moveToFirst())
{
 do
 {
   result = result + c.getString(iRow) + " " + c.getString(iName) + " " + c.getString + "\n"; 
 } while (c.moveToNext())
}

那么你可以处理为什么你的表没有行,如果实际上是这样的话......