大家好我编译代码时遇到错误,我无法理解它是什么意思..我需要一些帮助......
在下方提供我的代码..
public String updateEntry(String empcode,String confirm_password)
{
String update="Update Signup set PASSWORD = '" + confirm_password + "' " + "
WHERE EMPLOYEE_CODE = " + " '" + empcode + "' ";
Cursor cursor=db.rawQuery(update, null);
String uppassword=cursor.getString(cursor.getColumnIndex("PASSWORD"));
return uppassword;
}
代码返回正确的输出......但是错误存在......活动停止了..
给我的logcat下面..
10-07 08:34:09.474: E/AndroidRuntime(21657): android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 0
10-07 08:34:09.474: E/AndroidRuntime(21657): at android.database.AbstractCursor.checkPosition(AbstractCursor.java:424)
10-07 08:34:09.474: E/AndroidRuntime(21657): at
android.database.AbstractWindowedCursor.checkPosition(AbstractWindowedCursor.java:136)
10-07 08:34:09.474: E/AndroidRuntime(21657): at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:50)
10-07 08:34:09.474: E/AndroidRuntime(21657): at com.neochat.LoginDataBaseAdapter.updateEntry(LoginDataBaseAdapter.java:145)
10-07 08:34:09.474: E/AndroidRuntime(21657): at com.neochat.Forgotpassword.attemptforgot(Forgotpassword.java:157)
10-07 08:34:09.474: E/AndroidRuntime(21657): at com.neochat.Forgotpassword$1.onClick(Forgotpassword.java:54)
10-07 08:34:09.474: E/AndroidRuntime(21657): at android.view.View.performClick(View.java:4204)
10-07 08:34:09.474: E/AndroidRuntime(21657): at android.view.View$PerformClick.run(View.java:17355)
10-07 08:34:09.474: E/AndroidRuntime(21657): at android.os.Handler.handleCallback(Handler.java:725)
10-07 08:34:09.474: E/AndroidRuntime(21657): at android.os.Looper.loop(Looper.java:137)
10-07 08:34:09.474: E/AndroidRuntime(21657): at android.app.ActivityThread.main(ActivityThread.java:5041)
10-07 08:34:09.474: E/AndroidRuntime(21657): at java.lang.reflect.Method.invokeNative(Native Method)
10-07 08:34:09.474: E/AndroidRuntime(21657): at java.lang.reflect.Method.invoke(Method.java:511)
10-07 08:34:09.474: E/AndroidRuntime(21657): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
10-07 08:34:09.474: E/AndroidRuntime(21657): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
10-07 08:34:09.474: E/AndroidRuntime(21657): at dalvik.system.NativeStart.main(Native Method)
答案 0 :(得分:0)
您无法在getString
命令上调用UPDATE
。
这只适用于SELECT
命令
答案 1 :(得分:0)
在从游标检索数据之前,您需要调用cursor.moveToFirst()或cursor.moveToNext()。
答案 2 :(得分:0)
这不是它的工作原理。更新查询(最好使用专用更新方法,btw)返回受影响的行数。
更新查询的结果中永远不会有“PASSWORD”列。