Tôi đang cố gắng lấy lại dữ liệu từ cơ sở dữ liệu sqlite android nhưng ngoại lệ givine của nó không có cột như vậy: android.database.sqlite.SQLiteException: không có cột như vậy: aa:, trong khi biên dịch: Chọn Tên từ stud Địa chỉ Address = aa
Sqlite Chọn Query là -:
c=db.rawQuery("Select Name from stud Where Address="+a,null);
Ngoại lệ: -
07-04 18:07:00.888: I/Database(648): sqlite returned: error code = 1, msg = no such column: aa
07-04 18:07:00.910: D/AndroidRuntime(648): Shutting down VM
07-04 18:07:00.910: W/dalvikvm(648): threadid=1: thread exiting with uncaught exception (group=0x40015560)
07-04 18:07:00.948: E/AndroidRuntime(648): FATAL EXCEPTION: main
07-04 18:07:00.948: E/AndroidRuntime(648): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.my.StudentInfoManagement/com.my.StudentInfoManagement.ListData}: android.database.sqlite.SQLiteException: no such column: aa: , while compiling: Select Name from stud Where Address=aa
07-04 18:07:00.948: E/AndroidRuntime(648): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
07-04 18:07:00.948: E/AndroidRuntime(648): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
07-04 18:07:00.948: E/AndroidRuntime(648): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
07-04 18:07:00.948: E/AndroidRuntime(648): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
07-04 18:07:00.948: E/AndroidRuntime(648): at android.os.Handler.dispatchMessage(Handler.java:99)
07-04 18:07:00.948: E/AndroidRuntime(648): at android.os.Looper.loop(Looper.java:123)
07-04 18:07:00.948: E/AndroidRuntime(648): at android.app.ActivityThread.main(ActivityThread.java:3683)
07-04 18:07:00.948: E/AndroidRuntime(648): at java.lang.reflect.Method.invokeNative(Native Method)
07-04 18:07:00.948: E/AndroidRuntime(648): at java.lang.reflect.Method.invoke(Method.java:507)
07-04 18:07:00.948: E/AndroidRuntime(648): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
07-04 18:07:00.948: E/AndroidRuntime(648): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
07-04 18:07:00.948: E/AndroidRuntime(648): at dalvik.system.NativeStart.main(Native Method)
07-04 18:07:00.948: E/AndroidRuntime(648): Caused by: android.database.sqlite.SQLiteException: no such column: aa: , while compiling: Select Name from stud Where Address=aa
07-04 18:07:00.948: E/AndroidRuntime(648): at android.database.sqlite.SQLiteCompiledSql.native_compile(Native Method)
07-04 18:07:00.948: E/AndroidRuntime(648): at android.database.sqlite.SQLiteCompiledSql.compile(SQLiteCompiledSql.java:92)
07-04 18:07:00.948: E/AndroidRuntime(648): at android.database.sqlite.SQLiteCompiledSql.<init>(SQLiteCompiledSql.java:65)
07-04 18:07:00.948: E/AndroidRuntime(648): at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:83)
07-04 18:07:00.948: E/AndroidRuntime(648): at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:49)
07-04 18:07:00.948: E/AndroidRuntime(648): at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:42)
07-04 18:07:00.948: E/AndroidRuntime(648): at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1356)
07-04 18:07:00.948: E/AndroidRuntime(648): at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1324)
07-04 18:07:00.948: E/AndroidRuntime(648): at com.my.StudentInfoManagement.DataHelper.show(DataHelper.java:86)
07-04 18:07:00.948: E/AndroidRuntime(648): at com.my.StudentInfoManagement.ListData.onCreate(ListData.java:19)
07-04 18:07:00.948: E/AndroidRuntime(648): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
07-04 18:07:00.948: E/AndroidRuntime(648): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
07-04 18:07:00.948: E/AndroidRuntime(648): ... 11 more
07-04 18:07:03.140: I/Process(648): Sending signal. PID: 648 SIG: 9
sự cố có trong Địa chỉ! Đây là hàm dựng sẵn trong SQL, nó không thể là tên cột! –
Xin lỗi, tôi nghĩ bạn nhầm. Địa chỉ chưa bao giờ được và sẽ không bao giờ có trong bất kỳ thực thi SQL nào một từ dành riêng. Trường hợp sử dụng cơ bản nhất để sử dụng SQL là lưu trữ mọi người và địa chỉ của họ. Nó sẽ thực sự ngu ngốc để làm cho ADDRESS một từ dành riêng. – Yahel
Tôi vừa thử nghiệm điều này và khi tôi gõ địa chỉ trong truy vấn SQL nó là màu xanh, vậy tại sao nó là màu xanh nếu nó không phải là từ dành riêng! –