Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 错误不能';t从游标窗口读取第0行第1列。在从光标访问数据之前,请确保光标已正确初始化_Java_Android Sqlite - Fatal编程技术网

Java 错误不能';t从游标窗口读取第0行第1列。在从光标访问数据之前,请确保光标已正确初始化

Java 错误不能';t从游标窗口读取第0行第1列。在从光标访问数据之前,请确保光标已正确初始化,java,android-sqlite,Java,Android Sqlite,我犯了一个错误 无法从游标窗口读取第0行第1列。在从光标访问数据之前,请确保光标已正确初始化 我什么都试过了,但似乎都不管用 运行project后,我的应用程序停止使用此方法: getPriceDataByNameProductAndSupplier 代码: 表创建 /_______________________(我的桌子)_______________________/ 字符串Crete\u Table\u Product\u For\u Multi\u Value=“创建表格,如果不存在

我犯了一个错误

无法从游标窗口读取第0行第1列。在从光标访问数据之前,请确保光标已正确初始化

我什么都试过了,但似乎都不管用

运行project后,我的应用程序停止使用此方法:

getPriceDataByNameProductAndSupplier
代码:

表创建

/_______________________(我的桌子)_______________________/ 字符串Crete\u Table\u Product\u For\u Multi\u Value=“创建表格,如果不存在产品\u Multi\u Value( 产品类型文本不为空,产品日期文本不为空,供应商日期时间戳 默认当前时间戳、exp\U date TEXT NOT NULL、QUOTE\U package REAL NOT NULL、, 数量包整数不为空,实际数量包总数不为空, 所有数量的实际价格不为空,每个数量的实际价格不为空, 实际销售价格,id整数不为空,id供应商整数不为空,国外 密钥(\u id供应商)引用供应商(\u id),外键(\u id)引用 产品(_id));”

错误日志

错误:

E/CursorWindow:无法从包含1行1列的CursorWindow中读取第0行第1列。
D/AndroidRuntime:关闭VM
E/AndroidRuntime:致命异常:主
流程:com.ans.accounting\u s\p,PID:1349
java.lang.IllegalStateException:无法为android执行方法:onClick

在androidx.appcompat.app.appcompativiewInflater$DeclaredOnClickListener.onClick(appcompativiewInflater.java:390) 在android.view.view.performClick上(view.java:5623) 在android.view.view$PerformClick.run(view.java:22433) 位于android.os.Handler.handleCallback(Handler.java:751) 位于android.os.Handler.dispatchMessage(Handler.java:95) 位于android.os.Looper.loop(Looper.java:154) 位于android.app.ActivityThread.main(ActivityThread.java:6316) 位于java.lang.reflect.Method.invoke(本机方法) 在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:872)上 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:762) 原因:java.lang.reflect.InvocationTargetException 位于java.lang.reflect.Method.invoke(本机方法) 在androidx.appcompat.app.appcompativiewInflater$DeclaredOnClickListener.onClick(appcompativiewInflater.java:385) 在android.view.view.performClick上(view.java:5623) 在android.view.view$PerformClick.run(view.java:22433) 位于android.os.Handler.handleCallback(Handler.java:751) 位于android.os.Handler.dispatchMessage(Handler.java:95) 位于android.os.Looper.loop(Looper.java:154) 位于android.app.ActivityThread.main(ActivityThread.java:6316) 位于java.lang.reflect.Method.invoke(本机方法) 在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:872)上 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:762) 原因:java.lang.IllegalStateException:无法从CursorWindow读取第0行第1列。在从光标访问数据之前,请确保光标已正确初始化。 位于android.database.CursorWindow.nativeGetDouble(本机方法) 位于android.database.CursorWindow.getDouble(CursorWindow.java:543) 位于android.database.AbstractWindowedCursor.getDouble(AbstractWindowedCursor.java:87) 在com.ans.accounting_s_p.databaseTable.DataSourceProduct.getpriceDataByNameProductAndSupplier上(DataSourceProduct.java:322)


问题是您正试图访问光标中每一个的列
price\u,但它不存在,因为当您使用诸如MAX、MIN、SUM等聚合方法时
它会更改结果中列的名称,除非您将
用作
关键字

在SQL查询中

String query = "select max(price_for_every_one) from product_Multi_Value where _id ="+ product_id +" and _idSupplier="+ supplier_id ;
结果中的列名将为

max(price_for_every_one)
不是

因此,您不能在中使用列名

Price_for_every_one = cursor.getDouble(cursor.getColumnIndexOrThrow("price_for_every_one") );
由于您只选择一列,因此可以通过其索引访问该列

cursor.getDouble(0)
或者,您可以像这样在查询中使用
作为
关键字

String query = "select max(price_for_every_one) As price_for_every_one from product_Multi_Value where _id ="+ product_id +" and _idSupplier="+ supplier_id ;```

我希望这能帮助你

这能回答你的问题吗?
cursor.getDouble(0)
String query = "select max(price_for_every_one) As price_for_every_one from product_Multi_Value where _id ="+ product_id +" and _idSupplier="+ supplier_id ;```