android - 想要检索 SQlite 数据并将其设置为映射标记[ForceClose]

标签 android sqlite google-maps google-maps-markers

我有一个 SQLite 数据库,它存储所有坐标和描述,以便在点击标记时显示它们。我正在使用此代码来检索所有描述:

protected boolean onTap(int index) {
            db = openHelper.getWritableDatabase();
           String[] result_columns = new String[] {COL_DESCRI};
            Cursor cur = db.query(true, TABLE_COORD, result_columns,
             null, null, null, null, null, null);
             cur.moveToFirst();
             while (cur.isAfterLast() == false) {
                String description = cur.getString(cur.getColumnIndexOrThrow("Description"));

                AlertDialog.Builder dialog = new AlertDialog.Builder(Geo.this);
                dialog.setTitle("Infos.");
                dialog.setMessage(description);
                dialog.setPositiveButton("OK", new OnClickListener() {    
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.dismiss();
                    }
                });
                dialog.show();

                cur.moveToNext();
             }
             cur.close();
             db.close();

            return true;

但是,我遇到了一个奇怪的问题,表明我没有描述列,但我很确定我有。

08-23 02:45:02.848: ERROR/AndroidRuntime(287): Uncaught handler: thread main exiting due to uncaught exception
08-23 02:45:02.890: ERROR/AndroidRuntime(287): android.database.sqlite.SQLiteException: no such column: Description: , while compiling: SELECT DISTINCT Description FROM table_coordonnées
08-23 02:45:02.890: ERROR/AndroidRuntime(287):     at android.database.sqlite.SQLiteProgram.native_compile(Native Method)
08-23 02:45:02.890: ERROR/AndroidRuntime(287):     at android.database.sqlite.SQLiteProgram.compile(SQLiteProgram.java:110)
08-23 02:45:02.890: ERROR/AndroidRuntime(287):     at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:59)
08-23 02:45:02.890: ERROR/AndroidRuntime(287):     at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:49)
08-23 02:45:02.890: ERROR/AndroidRuntime(287):     at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:49)
08-23 02:45:02.890: ERROR/AndroidRuntime(287):     at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1220)
08-23 02:45:02.890: ERROR/AndroidRuntime(287):     at android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1107)
08-23 02:45:02.890: ERROR/AndroidRuntime(287):     at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1065)
08-23 02:45:02.890: ERROR/AndroidRuntime(287):     at carburant.android.com.Geo$ItemizedOverlayPerso.onTap(Geo.java:239)
08-23 02:45:02.890: ERROR/AndroidRuntime(287):     at com.google.android.maps.ItemizedOverlay.onTap(ItemizedOverlay.java:453)
08-23 02:45:02.890: ERROR/AndroidRuntime(287):     at com.google.android.maps.OverlayBundle.onTap(OverlayBundle.java:83)
08-23 02:45:02.890: ERROR/AndroidRuntime(287):     at com.google.android.maps.MapView$1.onSingleTapUp(MapView.java:346)
08-23 02:45:02.890: ERROR/AndroidRuntime(287):     at android.view.GestureDetector.onTouchEvent(GestureDetector.java:506)
08-23 02:45:02.890: ERROR/AndroidRuntime(287):     at com.google.android.maps.MapView.onTouchEvent(MapView.java:628)
08-23 02:45:02.890: ERROR/AndroidRuntime(287):     at android.view.View.dispatchTouchEvent(View.java:3709)
08-23 02:45:02.890: ERROR/AndroidRuntime(287):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:852)
08-23 02:45:02.890: ERROR/AndroidRuntime(287):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
08-23 02:45:02.890: ERROR/AndroidRuntime(287):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
08-23 02:45:02.890: ERROR/AndroidRuntime(287):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
08-23 02:45:02.890: ERROR/AndroidRuntime(287):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
08-23 02:45:02.890: ERROR/AndroidRuntime(287):     at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1659)
08-23 02:45:02.890: ERROR/AndroidRuntime(287):     at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1107)
08-23 02:45:02.890: ERROR/AndroidRuntime(287):     at android.app.Activity.dispatchTouchEvent(Activity.java:2061)
08-23 02:45:02.890: ERROR/AndroidRuntime(287):     at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1643)
08-23 02:45:02.890: ERROR/AndroidRuntime(287):     at android.view.ViewRoot.handleMessage(ViewRoot.java:1691)
08-23 02:45:02.890: ERROR/AndroidRuntime(287):     at android.os.Handler.dispatchMessage(Handler.java:99)
08-23 02:45:02.890: ERROR/AndroidRuntime(287):     at android.os.Looper.loop(Looper.java:123)
08-23 02:45:02.890: ERROR/AndroidRuntime(287):     at android.app.ActivityThread.main(ActivityThread.java:4363)
08-23 02:45:02.890: ERROR/AndroidRuntime(287):     at java.lang.reflect.Method.invokeNative(Native Method)
08-23 02:45:02.890: ERROR/AndroidRuntime(287):     at java.lang.reflect.Method.invoke(Method.java:521)
08-23 02:45:02.890: ERROR/AndroidRuntime(287):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
08-23 02:45:02.890: ERROR/AndroidRuntime(287):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
08-23 02:45:02.890: ERROR/AndroidRuntime(287):     at dalvik.system.NativeStart.main(Native Method)

请问可能是什么问题? 感谢您的帮助。

最佳答案

请检查您的创建语句和查询。我会在所有地方使用小写字母。在编辑中,您编写 coordoonnees 和 table_coordoonnees。两者都不匹配。

SQLites 错误信息总是很有帮助。如果 SQLite 告诉您缺少表或列,则此项目肯定丢失或拼写错误。

关于android - 想要检索 SQlite 数据并将其设置为映射标记[ForceClose],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7155812/

相关文章:

android - 在android中编辑文本

android - 解析和存储电子书内容,sqlite 索引

android - Sqlite 数据库更新触发 Service 通过 Content Observer 更新

javascript - 谷歌嵌入API。我可以传递纬度和经度,同时在生成的弹出窗口中显示地址的文本表示形式吗

javascript - Google map 错误 - 纬度/经度无效?

android - 接听电话时控制Soundpool的音量

android - 使用简单日期格式解析日期时出现空指针异常

android - 如何在 Android Studio 中将 Google Play Services repo 更新到最新版本?

android - 如何在android中的 map 中从数据库中绘制路径纬度和经度值

Android googlemap 内存不足