Insertar Un Registro En Una Tabla Con Sqlite3 Con Instruccion Sql


Subject: 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.

Subject: 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...

Profile PM  
Subject: 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.

Subject: 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

Profile PM  

Page 1 of 1


  
You cannot post new topics
You cannot reply to topics
You cannot edit your posts
You cannot delete your posts
You cannot vote in polls
You cannot attach files
You can download files
You cannot post calendar events

   

This is a "Lo-Fi" version of our main content. To view the full version with more information, formatting and images, please click here.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Generation Time: 0.1128s (PHP: -23% SQL: 123%)
SQL queries: 23 - Debug Off - GZIP Enabled