Bases de Datos - BD SQLite error de sintaxis

   
Vista:

BD SQLite error de sintaxis

Publicado por Andres (2 intervenciones) el 15/10/2016 04:40:21
Buenas, me presento a la comunidad como un programador mas tratando siempre de aprender con personas mas experimentadas, agradezco cualquier ayuda. Estoy a vuestra disposición caso se requiera de una mano con respecto a algún tema.

Estoy iniciando una aplicación para Android y no consigo declara de forma correcta la creación de mis tablas. Imagino que es un problema de sintaxis, este el código en cuestión:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
sqLiteDatabase.execSQL(String.format("CREATE TABLE %s (%s INTEGER PRIMARY KEY AUTOINCREMENT," +
            "%s TEXT NOT NULL UNIQUE," +
            "%s TEXT NOT NULL," +
            "%s TEXT NOT NULL,%s )",
    Tabelas.USUARIO, BaseColumns._ID,
    Usuario.COD_USUARIO, Usuario.NOME, Usuario.SENHA, Usuario.EMAIL
));
 
sqLiteDatabase.execSQL(String.format("CREATE TABLE %s (%s INTEGER PRIMARY KEY AUTOINCREMENT," +
            "%s TEXT UNIQUE NOT NULL," +
            "%s TEXT NOT NULL," +
            "%s TEXT NOT NULL," +
            "%s TEXT NOT NULL," +
            "%s TEXT NOT NULL" +
            "%s CHAR(1) NOT NULL" +
            "%s VARCHAR(100) NOT NULL" +
            "%s DOUBLE NOT NULL" +
            "%s DATETIME NOT NULL" +
            "%s CHAR(1) NOT NULL" +
            "$s DATETIME NOT NULL" +
            "%s DOUBLE NOT NULL" +
            "%s VARCHAR(400)%s)",
    Tabelas.LANCAMENTO, BaseColumns._ID,
    Lancamento.COD_LANCAMENTO,
    Lancamento.COD_USUARIO, Referencias.COD_USUARIO,
    Lancamento.COD_CATEGORIA, Referencias.COD_CATEGORIA,
    Lancamento.TP_LANCAMENTO,
    Lancamento.DESCRICAO,
    Lancamento.VALOR,
    Lancamento.DATA,
    Lancamento.REPETIR,
    Lancamento.PREVISAO_DATA,
    Lancamento.PREVISAO_VALOR,
    Lancamento.OBSERVACAO
));
 
sqLiteDatabase.execSQL(String.format("CREATE TABLE %s (%s INTEGER PRIMARY KEY AUTOINCREMENT," +
            "%s TEXT UNIQUE NOT NULL," +
            "%s TEXT NOT NULL, %s)",
    Tabelas.CATEGORIA, BaseColumns._ID,
    Categoria.COD_CATEGORIA,
    Categoria.NOME,
    Categoria.TP_LANCAMENTO
));

Si necesitan el diagrama de la BD lo adjunte al tema.
Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

BD SQLite error de sintaxis

Publicado por Leopoldo Taylhardat (186 intervenciones) el 15/10/2016 15:20:27
Saludos...
aunque no conozco sqllite...

El standard sql de creación de tablas es...

create tabla
(columna_1 tipo not null autoincrement,
columna_2 tipo (not null), ....
columna_x (not null),
primary key columna_1);

donde:
tipo es el tipo de columna integer, smallint, char(caracteres), varchar(caracteres), etc...
si no asignas "not null" por defecto toma que puede ser null.
autoincrement puede variar de acuerdo a la base de datos, en otras se define serial, etc.
espero que te sirva...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

BD SQLite error de sintaxis

Publicado por Andres (2 intervenciones) el 16/10/2016 17:21:32
Leopoldo, gracias por la ayuda, me ayudo a recordar.
Sobre el error del codigo, encontré el problema los %s no estaban correctos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar