2010-02-26 25 views
11

Abro una base de datos sqlite y uso rawquery para obtener datos.problema con la base de datos sqlite, sin tabla:

Pero los log.e muestran la información:

android.database.sqlite.SQLiteException: no hay tal tabla: tipos:

Pero, realmente no tengo esta tabla.

Y también trato de usar el otro sql, sino también obtener el mensaje de error como

android.database.sqlite.SQLiteException: no hay tal tabla: centros comerciales:

soy Seguro que hay estas dos tablas. Entonces, ¿por qué aparece el mensaje de error?

+0

Hola, ¿cómo se ve la criptoqueria? son los nombres de tabla "tipos:" y "centros comerciales:"? – TheChange

+0

¿Realmente creas tu base de datos con 'CREATE TABLE ...'? – tbruyelle

+0

En realidad, ya tengo un archivo de base de datos. Así que simplemente lo puse en la carpeta de "activos".Y meto un SQLiteOpenHelper personalizado para copiar este archivo a la ruta: /data/data/com.SGMalls/databases/mallMapv2.sqlite Luego, para usar Sqlitedatabse.open(); para abrir esta base de datos e intentar obtener los datos – user275788

Respuesta

10

Si está en el emulador, use DDMS File Explorer o adb pull para descargar una copia del archivo de la base de datos y confirmar su contenido.

Y i cajón de una costumbre SQLiteOpenHelper copiar este archivo a la ruta: /data/data/com.SGMalls/databases/mallMapv2.sqlite

Si está intentando copiar el archivo en SQLiteOpenHelperonCreate(), es demasiado tarde. Lo haría antes de eso.

Así que el código del archivo de copiado no puede copiar el archivo completo.

Es más probable que obtenga un error acerca de un archivo dañado en ese caso.

+0

OK. muchas gracias. Asi que. si quiero probar este código en el dispositivo. ¿También es necesario pegar la base de datos sqlite en el dispositivo primero? O ... necesito leer un tutorial cuidadosamente Gracias – user275788

+0

Hola. Como dijiste: Utilizo el explorador de archivos ddms para extraer el archivo de la base de datos. Y encuentro que hay tres floders: data, sdcared y system. Entonces, ¿alguien está bien? y la ruta de este archivo también es /data/data/com.SGMalls/databases/mallMapv2.sqlite? Gracias. Por favor, ayúdenme – user275788

+0

>>>> Si está intentando copiar el archivo en onCreate() de SQLiteOpenHelper, ya es demasiado tarde. Lo haría antes. <<<<<< QUE TRABAJÓ PARA MÍ GRACIAS ... +1 –

1

Creo que este error se produce cuando se cambia la estructura de la tabla. Para solucionar esto, limpie los datos (Configuración ->Administrar aplicación ->Borrar datos) antes de instalar la nueva aplicación.

Atentamente.

1

SQLiteDatabase.execSQL() interpretación toma una sola cadena sql, que termina con ";". Dos líneas no han sido interpretadas.

Creación de tablas en pocas líneas sql simplemente no ejecutadas.

Cuestiones relacionadas