java - 从android上的sqlite获取数据

标签 java sqlite

我试图从我在 Android 上的 SQLite 数据库中获取数据。但是,当我运行代码并查看 Android 监视器时,我收到以下消息:

04-14 15:27:27.737 11177-11177/com.example.daniel.toto E/CursorWindow: Failed to read row 0, column -1 from a CursorWindow which has 6 rows, 5 columns.



这是我用来从数据库中获取数据的数据库助手类中的方法:
public ArrayList<String> getAllSales() {
    ArrayList<String> array_list = new ArrayList<String>();

    SQLiteDatabase db = this.getReadableDatabase();
    Cursor res;
    res = db.rawQuery( "select * from sales", null );
    if (res != null) {
        res.moveToFirst();

        while (res.isAfterLast() == false) {
            array_list.add(res.getString(res.getColumnIndex(SALES_TABLE_NAME)));
            res.moveToNext();
        }
        return array_list;
    } else {
        array_list = null;
    }
    return array_list;
}

这是我在 onCreate 方法中调用它的地方:
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_sales);
    mydb = new SalesDBHelper(this.getBaseContext());
    array_list = mydb.getAllSales();
}

最佳答案

感谢您破译错误信息。确实是错误信息的一部分column -1意思是:没有这样的列。
非常感谢您指出,它终于解决了我的问题!

关于java - 从android上的sqlite获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43410191/

相关文章:

java - 多操作系统下Tomcat webapps文件路径

Java,为什么不能使用null作为包名?

java - Spring Security JWT - 400 错误请求 : "invalid grant" "Bad credentials"

java - 使用Ajc编译器和Spring问题AspectJ

ios - 相当于 sqlite 查询的核心数据

sql - 是否可以在 SQLite 查询中使用返回的列值作为表名?

java - 从文本文件中读取和拆分整数以加在一起?

Android SQLiteDatabase 语法错误,代码 1

c# - SQLite C# 和 DataGridView

c - 如何在sqlite3中限制数据长度