首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从CheckList中填充SQLite

从CheckList中填充SQLite
EN

Stack Overflow用户
提问于 2012-05-03 07:58:37
回答 2查看 594关注 0票数 0

我想从我的数据库中填充一个列表。

我有以下代码:

代码语言:javascript
复制
setContentView(R.layout.pro);
    addProFromDB();

}

如何填充多个xCodexInlinexPlacexHolderx

代码语言:javascript
复制
private void addProFromDB() {
    // TODO Auto-generated method stub

    ArrayList<String> results = new ArrayList<String>();
    SQLiteDatabase sampleDB = null;

    try {
        list = (ListView)findViewById(android.R.id.list);
        list.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
        sampleDB = this.openOrCreateDatabase(SAMPLE_DB_NAME, 1, null);
        sampleDB.execSQL("create table tbl_product("
                + "pro_id integer PRIMARY KEY autoincrement,"
                + "pro_name text," + "pro_price integer);");

        sampleDB.execSQL("insert into tbl_product(pro_name, pro_price) values ('oil', '200' );");

        Cursor c = sampleDB.query(SAMPLE_TABLE_NAMES, null, null, null, null, null,
                null);
        char pro_nameColumnIndex = (char) c.getColumnIndexOrThrow("pro_name");
        int pro_priceColumnIndex = (int) c.getColumnIndexOrThrow("pro_price");

    } finally {
        if (sampleDB != null)
        sampleDB.close();
    }
    setListAdapter(new ArrayAdapter<String>(this,
        android.R.layout.simple_list_item_checked, new ArrayList()));

它没有给出任何错误,但也没有显示插入的项。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-03 08:08:57

在您的代码片段中存在许多问题。

  1. 您每次运行应用程序时都要创建表tbl_product
  2. 每次都要在新创建的表中插入新元素。
  3. 最后,将空数组作为new ArrayList()传递给您的new ArrayList()

我会建议你通过任何一个教程,并整理事情一步一步。

我建议您遵循本教程,在使用sqlite时使用CursorAdapter

票数 1
EN

Stack Overflow用户

发布于 2012-05-03 08:28:05

我要修改你的代码,现在你可以检查和使用这段代码了,这可能对你有帮助。

代码语言:javascript
复制
private void addProFromDB() {
// TODO Auto-generated method stub

ArrayList<String> results = new ArrayList<String>();
SQLiteDatabase sampleDB = null;

try {
    list = (ListView)findViewById(android.R.id.list);
    sampleDB = this.openOrCreateDatabase(SAMPLE_DB_NAME, 1, null);
    sampleDB.execSQL("create table if not exists tbl_product("
            + "pro_id integer PRIMARY KEY autoincrement,"
            + "pro_name text," + "pro_price integer);");

    sampleDB.execSQL("insert into tbl_product(pro_name, pro_price) values ('oil', '200' );");

    Cursor c = sampleDB.query(SAMPLE_TABLE_NAMES, null, null, null, null, null,
            null);
    char pro_nameColumnIndex = (char) c.getColumnIndexOrThrow("pro_name");
    int pro_priceColumnIndex = (int) c.getColumnIndexOrThrow("pro_price");

ArrayList list = new ArrayList()
list.add(pro_nameColumnIndex);
list.add(pro_priceColumnIndex);
setListAdapter(new ArrayAdapter<String>(this,
    android.R.layout.simple_list_item_checked, list));

} finally {
    if (sampleDB != null)
    sampleDB.close();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10427346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档