从数据库(数组)检索数据到textview

时间:2013-11-06 18:56:07

标签: android sqlite textview

如何从外部数据库中检索行并在文本视图中显示它们? 我尝试了一些代码,但应用程序停止了。

在我的数据库助手中,我添加了该代码:

public String[] getData(String l) {
    // TODO Auto-generated method stub
    String[] columns = new String[] { DB_ID, DB_name, DB_desc };
    // FILTERS DEPENDING ON THE CATEGORY TYPE PASSED IN THE PARAMETER
    Cursor c = mDataBase.rawQuery("SELECT _id,name,description FROM facilities WHERE name='" + l + "'", null);
    String[] result = new String[] { null, null, null, null, null };

    int iId = c.getColumnIndex(DB_ID);
    int iName = c.getColumnIndex(DB_name);
    int iDesc = c.getColumnIndex(DB_desc);

    c.moveToFirst();

    result[0] = c.getString(iId);
    result[1] = c.getString(iName);
    result[2] = c.getString(iDesc);
    return result;
}

这个代码在我的活动中,我希望在textview中显示字符串:

     for(int i=0;i<4;i++){
        // dbhelper.open();
        String[] data =dbhelper.getData(namee);
        // dbhelper.close();
        txt.append("\n"+data[3]+"\n");}
     }

这是我试过的另一个代码,来自这个网址: Return all data from a SQLite DB into two columns in Android

2 个答案:

答案 0 :(得分:0)

您可以发布LogCat条目吗? 这条线做了什么?

String[] result=new String[]{null,null,null,null,null};

尝试

String[] result = new String[5];

代替;

答案 1 :(得分:0)

我在我的一个应用程序中使用了这个......这可能有所帮助。

我在主要活动中声明了以下内容

DatabaseHelper myDbHelper = new DatabaseHelper(this);
.
.
try {
myDbHelper.createDataBase();
}
.
.
.
db = myDbHelper.getWritableDatabase();// or db = myDbHelper.getReadableDatabase();
.
.
.
//In another function
Cursor c = db.rawQuery("Whatever you want to query");
String[] s=new String[]{"The fields(columns) you want queried and used in textbox"};