我需要帮助来获取SQLite数据

时间:2015-11-23 03:35:47

标签: android sqlite android-sqlite

我使用此方法检索我的数据

System.Net.Http.HttpClient

如何让它返回结构化数据(id& business_name)?
我想在单个textview中显示每个business_name。

请帮忙

1 个答案:

答案 0 :(得分:1)

如果我了解您要执行的操作,如果您只想将RowBusinessName作为String返回,则可以使用此解决方案。 (希望您的RowBusinessName类型为String)。

public String getdata(int rowId) {

     String[] columns= new String[]{RowId,RowBusinessName};
     Cursor cursor = db.query(TABLENAME, columns, RowId + "=?", new String[]{rowId + ""}, null, null, null, null);         

     String Result="";

     if (cursor != null && cursor.moveToFirst()) {
         // not required though
         int rowId = cursor.getInt(cursor.getColumnIndexOrThrow(RowId));

         String rowBusinessName = cursor.getString(cursor.getColumnIndexOrThrow(RowBusinessName));

         result = rowBusinessName;
     }
     return result;
}

现在,如果您需要RowBusinessName列表,则必须构建List<String>而不是将其附加到Result。这不是一个好方法!

public List<String> getAll() {
        List<String> businessNameList = new ArrayList<String>();
        String[] columns= new String[]{RowId,RowBusinessName};

        Cursor c=OurDatabase.query(TableName,columns,null,null,null,null,null);

        if (c != null && c.moveToFirst()) {
            // loop until the end of Cursor and add each entry to Ticks ArrayList.
            do {
                String businessName = cursor.getString(cursor.getColumnIndexOrThrow(RowBusinessName));
                if (businessName != null) {
                    businessNameList.add(businessName);
                }
            } while (c.moveToNext());
        }
        return businessNameList;
    }

这些是解决方法。 适当的答案是创建一个包含idbusinessName的对象。这样,您可以从DB构建一个对象,只返回整个Object。