Insertar Un Registro En Una Tabla Con Sqlite3 Con Instruccion Sql


Objetivo: Insertar Un Registro En Una Tabla Con Sqlite3 Con Instruccion Sql
Hola.

Después de leer las consultas que vienen de sql como ejemplo en el manual de gambas no encontré la manera de insertar un registro en una tabla. (Con instrucción SQL)
1º - Encontré que no iba bien la consulta de las fechas. Resulto que en vez de dobles comillas, eran comillas simples.

Con la inserción intente como viene en el manual. En el propio gestor de base de datos.

Primero así:
insert into datos values ("La guerra de los mundos","Herbert George Wells",2010-01-01,12.89,"Novela")

No va.

Luego así.
insert into datos values ("La guerra de los mundos","Herbert George Wells",'2010-01-01',12.89,"Novela")

No va.

Asi que intente poner al valor numérico (float), también las comillas simples.
insert into datos values ("La guerra de los mundos","Herbert George Wells",'2010-01-01','12.89',"Novela")

Tampoco.
Así que busque y encontré otra manera, en la que especificas cual es la tabla, sus campos y sus valores.
insert into datos (titulo,autor,fecha,precio,descripcion) values ('La guerra de los mundos','Herbert George Wells','2010-01-01',12.89,'Novela')

Y me suelta que no hay registros.
Quede un poco harto de dobles comillas y comillas simples.

No he tenido problemas con la base en gambas, pero no logro entender por que la instrucción en sql no va.

Podrías recomendar un libro para principiantes sobre sql o sqlite3.O una web con algún tutorial.

¿ Es muy limitada la base de datos sqlite3 ?.Es para mi solo y me gustaría usarla en mi trabajo para llevar un pequeño negocio

Perdonar la pregunta, es que parece fácil lo de la instrucción pero se complica.
Estuve en la web de sqlite quizas un poco complicado para principiantes.El problema en parte
es que no hay muchos ejemplos.

Me perdí con la sintaxis.Dice que hay tres maneras de hacerlo.

http://www.sqlite.org/lang_insert.html

Saludos.

Objetivo: Re: Insertar Un Registro En Una Tabla Con Sqlite3 Con Instruccion Sql
Yo desde gambas utilizo:


miconexion.exec("insert into datos (titulo,autor,fecha,precio,descripcion) values ('La guerra de los mundos','Herbert George Wells','2010-01-01',12.89,'Novela')")



Y no me da ningún problema.

SQLITE es una buena base de datos. El problema es que es bastante avanzada en una línea que las demás no son y es que el contenido de una columna depende del valor de cada campo y eso puede ser bastante lioso si no lo contgrolas.

Con que sí he tenido problemas con los result de gambas es con los campos INTEGER.
Por algún misterio, hay bases de datos en los que no me actualiza ningún integer, sin dar menajes de error ni avisos de ningún tipo. Símplemente pasa de ellos.
Los he cambiado a NUMERIC y todo perfecto...

Misterio misterioso...

Perfil MP  
Objetivo: Re: Insertar Un Registro En Una Tabla Con Sqlite3 Con Instruccion Sql
Hola Shordi.


miconexion.exec("insert into datos (titulo,autor,fecha,precio,descripcion) values ('La guerra de los mundos','Herbert George Wells','2010-01-01',12.89,'Novela')")


Esa es la instrucción en SQL.

Al final, el problema es que no se ve directamente en el gestor si se actualizaban los registros.No se si en Gambas3 hará lo mismo.
Solo ponía "no hay registros". Que según el manual de gambas es lo correcto.La respuesta es algo confusa.

Al cerrar la base y abrirla se ve como se ha añadido correctamente el registro a la base de datos.
Si es que cuando volví a ver la base de de datos,después de leer tu respuesta, tenía 8 registros iguales!.

Citar:

SQLITE es una buena base de datos. El problema es que es bastante avanzada en una línea que las demás no son y es que el contenido de una columna depende del valor de cada campo y eso puede ser bastante lioso si no lo controlas.


Mmmm.,es que es eso, cada campo es una columna.
Me veo comprando manual de sqlite.

Citar:

Con que sí he tenido problemas con los result de gambas es con los campos INTEGER.
Por algún misterio, hay bases de datos en los que no me actualiza ningún integer, sin dar menajes de error ni avisos de ningún tipo. Símplemente pasa de ellos.
Los he cambiado a NUMERIC y todo perfecto...


Lo tendré en cuenta.

Gracias.

Objetivo: Re: Insertar Un Registro En Una Tabla Con Sqlite3 Con Instruccion Sql
Citar:
Mmmm.,es que es eso, cada campo es una columna.
Me veo comprando manual de sqlite.


Mmmm, no exactamente. El contenido de cada campo es el que determina el tipo de dato. Si almacenas un número, será un campo numérico, si almacenas texto será un string. Es muchísimo más flexible que el modelo tradicional pero, afortunadamente, es "de facto" compatible con él. Creo que los problemas que he tenido son debidos a que gambas no sabe traducir exactamente ese modelo de datos. Así, un INTEGER se puede almacenar en la base de hasta 6 maneras distintas según su tamaño, aunque luego es traducido en memoria a 8 bytes. Creo que por eso falla la grabación de este tipo.

En mi programa SIESTA el usuario crea sus propias bases de SQLITE simplemente tecleando el nombre de los campos, siendo el contenido indiferente. Es flexible, ya digo, aunque choca un poco con el modelo clásico y la forma de pensar habitual.
La información de la web oficial de SQLITE es bastante completa, aunque un tanto carente de ejemplos.
Personalmente ha sido un apoyo enorme para mis aplicaciones. La uso como base de configuraciones, para guardar estados, para copias de seguridad, etc. etc.
Con una máquina medio decente es, además, rapidísima. Eso sí, hasta donde la he probado en red local, da pena... tengo que hacer más pruebas.

Suerte

Perfil MP  

Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.4643s (PHP: -82% SQL: 182%)
Consultas SQL: 44 - Debug off - GZIP Activado