【问题标题】:Sqlite fetch assoc in java/android similar to php?java / android中的Sqlite fetch assoc类似于php?
【发布时间】:2013-05-05 07:55:41
【问题描述】:

我想从我的表中选择 *,我不想将 colnames 与 colindex 同步。

是否有一种内置方法可以使用 columnNames 而不是 columnIndexes 将列名提取到 Cursor 上?

所以我可以使用 cursor.getStringForColumnName("name"); 而不是知道第 4 列是“名称”列并使用 cursor.getString(4);

【问题讨论】:

    标签: android sqlite columnname


    【解决方案1】:

    我的理解是你想在光标中使用库名。您实际上可以使用getColumnIndex(String columnName) 使用列名自动获取索引。阅读更多here。然后您可以继续操作。这样你就不需要记住索引了。希望这有助于其他请评论。

    【讨论】:

    • getColumnIndex 是否进行查询以获取表的信息以查找列名及其对应的 id?如果可能的话,我不想遇到性能问题。
    • 我想你是否担心它是否与查询表相同,然后获取列名并将其映射到索引?我强烈地感觉到不一样。它不是自定义函数,但已在 Android API 本身中提供。希望你检查了链接。所以,我认为这不会导致性能问题。
    【解决方案2】:

    嗯,是的,您可以为此目的使用 PRAGMA 查询

    这里是一个例子

     Cursor ti = db.rawQuery("PRAGMA table_info(mytable)", null);
        if ( ti.moveToFirst() ) {
            do {
                System.out.println("col: " + ti.getString(1));
            } while (ti.moveToNext());
        }
    

    【讨论】:

      【解决方案3】:
      cursor.getString(getColumnIndex("name"));
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-10-17
        • 2012-09-01
        • 1970-01-01
        • 2012-10-14
        • 1970-01-01
        • 2015-02-12
        • 2011-02-02
        • 1970-01-01
        相关资源
        最近更新 更多