sqlite3

Aplicaciones de código fuente abierto para descargar

sqlite3

Notapor ErikH » Dom Abr 06, 2014 5:33 am

Este es un ejemplo de como hacer una consulta a una base de datos hecha con sqlite3. También lo puse en la wiki.

Se debe crear un archivo de base de datos sqlite3 con nombre de archivo "ljdata.sl3" y las siguientes características.
Código: Seleccionar todo
 PRAGMA foreign_keys=OFF;
 BEGIN TRANSACTION;
 CREATE TABLE people (id integer, firstname varchar(20), lastname varchar(20), phonenumber char(10));
 INSERT INTO "people" VALUES(1,'Fred','Flintstone','5055551234');
 INSERT INTO "people" VALUES(2,'Wilma','Flintstone','5055551234');
 INSERT INTO "people" VALUES(3,'Barny','Rubble','5055559999');
 COMMIT;


Ademas de copiar la librería compilada "sqlite3.dll" al directorio donde se genere el ejecutable.

Código: Seleccionar todo
 'Archivo generado por Visual Pauscal
   'El código de los eventos y demás procedimientos
   'se encuentra al final de este archivo
 
   $ADV-
 
   Importar "PauscalW.prp"
 
 
   ' Constantes
 
   Const SQLITE_OK = 0
   Const SQLITE_ROW = 100
 
   ' sqlite3_open()
   'SQLITE_API int sqlite3_open(const char *filename,sqlite3 **ppDb);
   Proc sqlite3_open(,:Entero):Entero, "sqlite3"
   ' sqlite3_exec()
   'SQLITE_API int sqlite3_exec(sqlite3*,const char *sql,int (*callback)(void*,int,char**,char**),void *,char **errmsg);
   Proc sqlite3_exec(,,,,:Entero):Entero, "sqlite3"
   ' sqlite3_prepare_v2()
   'SQLITE_API int sqlite3_prepare_v2(sqlite3 *db,const char *zSql,int nByte,sqlite3_stmt **ppStmt,const char **pzTail);
   Proc sqlite3_prepare_v2(,,,,:Entero):Entero, "sqlite3"
   ' sqlite3_step()
   'SQLITE_API int sqlite3_step(sqlite3_stmt*);
   Proc sqlite3_step(:Entero):Entero, "sqlite3"
   ' sqlite3_finalize()
   'SQLITE_API int sqlite3_finalize(sqlite3_stmt *pStmt);
   Proc sqlite3_finalize(:Entero):Entero, "sqlite3"
   ' sqlite3_close()
   'SQLITE_API int sqlite3_close(sqlite3 *);
   Proc sqlite3_close(:Entero):Entero, "sqlite3"
   ' sqlite3_column_text()
   'SQLITE_API const unsigned char *sqlite3_column_text(sqlite3_stmt*, int iCol);
   Proc sqlite3_column_text(,:Entero):Entero, "sqlite3"
   ' sqlite3_column_int()
   'SQLITE_API int sqlite3_column_int(sqlite3_stmt*, int iCol);
   Proc sqlite3_column_int(,:Entero):Entero, "sqlite3"
 
   Proc lectura_sqlite()
   Var sqlite3:Entero
   Var sqlite3_envoltura:Entero
   Var sqlite3_stmt:Entero
   Var sqlite3_stmt_Envoltura:Entero
 
   Var @conn:Entero
   Var res:Entero
   Var numerocol:Entero
   Var textocol:Cadena
   Var pTextocol:Entero
 
   Var @pPuntero:Entero
   Var pErrorquery:Entero
 
   Var error:Entero
   Var rec_count:Entero
 
   Var c_errMSG:Cadena
   Var c_tail:Cadena
   Var p_tail:Entero
 
   Var archivo_bd:Cadena
   Var primera_consulta:Cadena
   Var segunda_consulta:Cadena
 
 
   error = 0
   rec_count = 0
 
   archivo_bd = "ljdata.sl3"
 
 
   error = sqlite3_open(CadPtr(archivo_bd), sqlite3@)
 
   conn@ = sqlite3@
 
   Si (error <> 0)
     Mensaje("No se puede abrir base de datos: " + archivo_bd)
     Programa.Terminar
   SiNo
     Mensaje("se abrio archivo")
   FinSi
 
   primera_consulta = "update people set phonenumber='5055559999' where id=3"
   error = sqlite3_exec(conn,CadPtr(primera_consulta),0, 0, pErrorquery@)
 
   Si (error <> SQLITE_OK) Mensaje("primera consulta fallida" + CrLf + _
                           "codigo: " + EntCad(error) + CrLf + _
                         CadenadePtrCad(pErrorquery) )
 
   segunda_consulta = "select lastname,firstname,phonenumber,id from people order by id"
   error = sqlite3_prepare_v2(conn,CadPtr(segunda_consulta),1000, res@, p_tail@);
   'c_tail = CadenaDePtrCad(p_tail)
 
   Si (error <> SQLITE_OK) Mensaje("segunda consulta fallida" + CrLf + "codigo: " + EntCad(error))
 
   Si (error <> SQLITE_OK)
     Mensaje("No se pudo leer ningun dato de: " + archivo_bd)
     Programa.Terminar
   FinSi
 
   Mientras (sqlite3_step(res) = SQLITE_ROW)
     Mensaje("bucle paso numero: " + EntCad(rec_count))
     pTextocol = sqlite3_column_text(res, 0)
     textocol = CadenadePtrCad(pTextocol)
     Forma.CajaTexto1.Texto = "lastname: " + textocol
     pTextocol = sqlite3_column_text(res, 1)
     textocol = CadenadePtrCad(pTextocol)
     Forma.CajaTexto2.Texto = "firstname: " + textocol
     pTextocol = sqlite3_column_text(res, 2)
     textocol = CadenadePtrCad(pTextocol)
     Forma.CajaTexto3.Texto = "phonenumber: " + textocol
     numerocol = sqlite3_column_int(res, 3)
     Forma.CajaTexto4.Texto = "id: " + EntCad(numerocol)
     rec_count = rec_count + 1
     
     Si (rec_count > 5)
        Mensaje("Bucle Infinito")
        Salir Mientras
     FinSi
   FinMientras
 
   Mensaje("Recibimos " + EntCad(rec_count) + " lineas de datos")
 
   sqlite3_finalize(res)
 
   sqlite3_close(conn)
 
   FinProc
 
 
   Clase c_Forma(pscForm)
   Público:
 
     ClaseVar _
       CajaTexto4:pscCajaTexto, _
       CajaTexto3:pscCajaTexto, _
       CajaTexto2:pscCajaTexto, _
       Boton1:pscBoton, _
       CajaTexto1:pscCajaTexto
 
   Privado:
     Proc Init
       X=0
       Y=0
       Ancho=416
       Alto=159
       Texto="Formulario"
       Visible=Verd
       Habilitado=Verd
       PuedeCambiarDeTamaño=Verd
       BotonMaximizar=Verd
       BotonMinimizar=Verd
       MenuSistema=Verd
       Borde=Verd
       Eval Eventos
       FinEval
       CrearForm
       Crear CajaTexto4
       Eval CajaTexto4
         .Padre = EsteObjeto
         .X=8
         .Y=80
         .Ancho=50
         .Alto=19
         .Visible=Verd
         .Habilitado=Verd
         Eval .Eventos
         FinEval
       FinEval
       Crear CajaTexto3
       Eval CajaTexto3
         .Padre = EsteObjeto
         .X=8
         .Y=56
         .Ancho=392
         .Alto=19
         .Visible=Verd
         .Habilitado=Verd
         Eval .Eventos
         FinEval
       FinEval
       Crear CajaTexto2
       Eval CajaTexto2
         .Padre = EsteObjeto
         .X=8
         .Y=32
         .Ancho=392
         .Alto=19
         .Visible=Verd
         .Habilitado=Verd
         Eval .Eventos
         FinEval
       FinEval
       Crear Boton1
       Eval Boton1
         .Padre = EsteObjeto
         .X=96
         .Y=88
         .Ancho=89
         .Alto=25
         .Visible=Verd
         .Habilitado=Verd
         .Texto = "Hacer consulta"
         Eval .Eventos
           .AlCliquear@=f0_Boton1_AlCliquear@
         FinEval
       FinEval
       Crear CajaTexto1
       Eval CajaTexto1
         .Padre = EsteObjeto
         .X=8
         .Y=8
         .Ancho=392
         .Alto=19
         .Visible=Verd
         .Habilitado=Verd
         .Texto = ""
         Eval .Eventos
         FinEval
       FinEval
     FinProc
   Público:
     Proc CargarForm
       Si (hWnd=0)
         Init
         CajaTexto4.CargarCajaTexto(hWnd)
         CajaTexto3.CargarCajaTexto(hWnd)
         CajaTexto2.CargarCajaTexto(hWnd)
         Boton1.CargarBoton(hWnd)
         CajaTexto1.CargarCajaTexto(hWnd)
         FormCargado
       FinSi
     FinProc
     Proc Mostrar(Opcional EsModal:Booleano)
       CargarForm
       Si (EsModal) MostrarModalInt; SiNo; MostrarInt
     FinProc
 
   'Eventos
 
     Proc Boton1_AlCliquear() Adelantado
 
   FinClase
 
   'Alias
 
   Proc f0_Boton1_AlCliquear()
     Forma.Boton1_AlCliquear()
   FinProc
 
 
   Var Forma:c_Forma
 
   Proc CicloPrincipal
     Crear Forma
     Forma.CargarForm
     Forma.Mostrar
     Programa.Ejecutar
   FinProc
 
 
   '**************************************************
 
   'Código de eventos y procedimientos
   'definidos por el usuario
 
 
   Proc c_Forma.Boton1_AlCliquear()
   '
   lectura_sqlite()
   FinProc
 
 
   CicloPrincipal
   Fin


Les dejo un enlace a un explorador de base de datos de SQLite.
Última edición por ErikH el Dom Abr 06, 2014 3:18 pm, editado 1 vez en total
ImagenEntrá a la wiki en OpenShift
Colofox!!!!
ErikH
 
Mensajes: 151
Registrado: Jue Nov 29, 2007 11:24 pm
Ubicación: Algún lugar de México

Sponsor


Re: sqlite3

Notapor PowerDeath » Dom Abr 06, 2014 6:34 am

Te quedo muy bueno, Estaría buena onda que te hagas una librería :@, Una duda. ¿El programa hace conexión directa con la base de datos "ljdata.sl3"?
Saludos!
Imagen
PowerDeath
 
Mensajes: 160
Registrado: Sab Ago 11, 2012 5:29 am

Re: sqlite3

Notapor ErikH » Dom Abr 06, 2014 3:07 pm

No creo que conexión sea la palabra adecuada. Esto lo digo porque sqlite no tiene servidor, sino que manipula directamente el archivo de base de datos.

SQLite es:
  • Auto-contenido -Todo el motor esta en un DLL, requiriendo un mínimo soporte de librerías externas.
  • Sin servidor - Las consultas se hacen mediante la librería.
  • Sin configuración - No es necesario configurar un servidor, si el programa puede acceder al archivo, entonces puede utilizar SQLite.
  • Transaccional - Esta pensado para que las consultas no se queden a la mitad de se ejecución (Todo o nada).

Debo agregar que es de código abierto y se utiliza en muchos programas y plataformas embebidas.

Fuente:
SQLite | About
ImagenEntrá a la wiki en OpenShift
Colofox!!!!
ErikH
 
Mensajes: 151
Registrado: Jue Nov 29, 2007 11:24 pm
Ubicación: Algún lugar de México

Re: sqlite3

Notapor jmetin2 » Lun Abr 14, 2014 12:16 pm

Orales estaria genial implementar una libreria sobre esto.
:)
jmetin2
 
Mensajes: 168
Registrado: Jue Dic 15, 2011 12:07 pm
Ubicación: Merida, Yucatan, Mexico

Re: sqlite3

Notapor 20180912yuanyuan » Mié Sep 12, 2018 3:40 am

ugg outlet online
coach outlet store online
cheap nfl jerseys wholesale
canada goose jackets
michael kors outlet canada
canada goose jackets
pandora outlet store
rolex replica watches for sale
mulberry outlet uk
gucci outlet online
air max 87
kate spade outlet online
coach factory outlet
rolex replica watches
mariners jerseys
pandora charms sale
kyrie 4
adidas originals
air max shoes
ralph lauren
cartier watches
canada goose outlet store
canada goose jackets
louis vuitton factory outlet
michael kors canada
michael kors outlet store
polo ralph lauren outlet
toms shoes
canada goose outlet
ugg canada
city royals jerseys
moncler outlet
angels jerseys
adidas superstar shoes
michael kors outlet store
uggs outlet
christian louboutin shoes
cheap jordan shoes
kate spade outlet online
adidas outlet
mulberry
red bottoms
timberland shoes
ralph lauren sale
nike air max zero
fake rolex
ralph lauren sale
longchamp
coach factory outlet online
braves jerseys
nike air max 2019
birkenstock outlet store
north face outlet store
ugg outlet store
canada goose jackets
pandora charms sale
moncler coats
nike shoes outlet
christian louboutin sale
ugg outlet
christian louboutin shoes
coach outlet store online
kate spade bags
coach outlet store online
birkenstock outlet online
ugg boots
ugg outlet
ralph lauren uk
ugg outlet store
adidas nmd r1
ralph lauren outlet online
adidas ultra boost
columbia outlet
pandora charms sale
air max 95
cheap oakley sunglasses
pandora jewelry outlet
coach factory outlet online
birkenstock sandals
nfl jerseys
adidas campus shoes
nike air presto
coach outlet online
michael kors handbags
ugg boots
cheap jordan shoes
adidas shoes
pandora charms outlet
timberland boots
air jordan retro
pandora jewelry
coach outlet online
coach outlet online
tory burch outlet online
toms outlet online
ecco shoes for women
jordans
cheap jordan shoes
fitflops sale clearance
reebok outlet
nike outlet store online
kate spade outlet online
fitflop sandals
hermes bags
fitflops uk
louis vuitton outlet
salomon outlet
cheap oakley sunglasses
adidas outlet store
ray bans
kate spade purses
devil rays jerseys
fendi handbags
uggs outlet
moncler outlet
cheap oakley sunglasses
supra for sale
supreme shirts
swarovski outlet
michael kors outlet clearance
cheap ray ban sunglasses
michael kors outlet online
moncler outlet store
pandora charms sale clearance
canada goose jacket
valentino outlet
birkenstock outlet
coach outlet online
polo ralph lauren outlet online
converse all star
mbt
coach outlet canada
mont blanc pens
coach outlet online
hermes handbags
indians jerseys
kate spade outlet online
canada goose jackets
pandora canada
canada goose outlet store
salvatore ferragamo shoes
michael kors outlet clearance
nike zoom
coach factorty outlet store
ecco shoes
uggs outlet
coach outlet online
salvatore ferragamo outlet
uggs outlet store
coach factory outlet
coach outlet store online clearance
coach outlet canada
cheap jordan shoes
coach outlet online
coach factorty outlet online
retro 11
pandora charms outlet
canada goose
rolex replica watches
oakley sunglasses wholesale
kobe shoes
pandora jewelry outlet
fitflops sale clearance
canada goose sale
coach factory outlet
coach factory outlet online
moncler outlet
coach bags
ugg boots
nike air max 97
new balance outlet
birkenstock outlet
pandora jewelry
coach outlet online
moncler outlet online
ralph lauren outlet online
pandora charms sale clearance
coach outlet online
nike shox shoes
nike outlet store
ralph lauren uk
coach outlet store online
coach factorty outlet store
nike outlet
cheap jordan shoes
nike react shoes
underarmour outlet
canada goose coats
adidas superstars
cheap jordans
polo outlet online
brewers jerseys
oakley sunglasses outlet
michael kors outlet store
kate spade handbags
discount oakley sunglasses
ugg outlet online
north face jackets
nmd adidas
ugg outlet online
mlb jerseys cheap
adidas nmd r1
adidas nmd runner
coach factory outlet online
michael kors
ronaldo jerseys
mulberry handbags
mont blanc pen
moncler outlet online
air max outlet
nike air max 2018
coach factory outlet online
kate spade outlet
air jordans
jimmy choo
kate spade handbags
converse outlet
fitflops sale
coach factorty outlet online
jimmy choo shoes
asics outlet
skechers outlet
pandora charms outlet
lacoste polo shirts
moncler coats
louis vuitton outlet online
coach outlet canada
longchamp outlet
michael kors outlet online
canada goose
cheap ray ban sunglasses
ugg outlet
polo ralph lauren outlet online
moncler coats
uggs outlet
tiffany outlet
moncler outlet online
coach outlet
timberland outlet
marlins jerseys
rockies jerseys
padres jerseys
nike running shoes
jimmy choo outlet
tory burch handbags
nike outlet store
ugg outlet
michael kors outlet
nike huarache shoes
ugg shoes
uggs outlet online
nike cortez classic
reds jerseys
diamondbacks jerseys
uggs outlet
canada goose
yeezy boost 350
nike shoes
pandora charms outlet
cheap air jordans
air more uptempo
prada shoes
coach factory outlet online
ralph lauren
kate spade outlet online
pg 2 shoes
moncler outlet store
ralph lauren outlet online
cheap oakley sunglasses
coach canada
coach factory outlet
kate spade outlet online
air max 1
timberland outlet
adidas yeezy boost
jordan shoes for sale
dr martens boots
canada goose outlet online
mets jerseys
cheap nike shoes
jordan shoes
air max
kate spade outlet online
canada goose outlet
coach factory outlet online
coach outlet store online
ugg boots
columbia shoes
ecco outlet
supreme clothing
michael kors outlet online
coach outlet
nike outlet store
yeezy shoes
pandora sale clearance
jordan shoes
michael kors bags
pandora charms
nike outlet online
louboutin shoes
red bottom
christian louboutin shoes
louis vuitton outlet store
fitflops sale
adidas stan smith
kate spade handbags
ysl outlet
longchamp outlet online
louis vuitton outlet
pandora charms outlet
ralph lauren sale clearance uk
yeezy shoes
cheap jordan shoes
converse shoes
ugg canada
coach outlet online
michael kors outlet clearance
coach outlet online
canada goose coats
nike sneakers
air more money
canada goose
ugg boots
birkenstock uk
gucci outlet store
coach outlet store
fitflop uk
nike huarache shoes
michael kors outlet
athletics jerseys
cheap jordans
michael kors outlet online
pandora jewelry
canada goose coats
hermes bag
kate spade outlet store
longchamp outlet
michael kors
michael kors outlet clearance
coach outlet store
nfl jerseys
michael kors outlet clearance
fitflop shoes
coach outlet online
michael kors canada
dodgers jerseys
michael kors handbags
timberland outlet
ralph lauren sale clearance uk
basketball shoes
nike dunks
supra for sale
hermes outlet
michael kors outlet online
kobe shoes
vans outlet
louis vuitton handbags
pandora charms sale clearance
air jordan shoes
mlb jerseys wholesale
coach factory outlet
burberry outlet store
polo ralph lauren
michael kors outlet store
air max
polo ralph lauren outlet
astros jerseys
durant shoes
discount oakley sunglasses
pandora charms
nike shoes
louboutin outlet
adidas yeezy boost 350
coach factory outlet online
kate spade outlet
ray ban glasses
ugg boots
tory burch outlet online
fred perry outlet
christian louboutin shoes
canada goose outlet store
hermes bags
tory burch outlet store
kate spade handbag
timberland boots outlet
vans outlet store
birkenstock outlet store
philipp plein outlet
rangers jersey
oakley sunglasses outlet
burberry outlet
fitflops sale
coach factory outlet online
ugg outlet
uggs outlet
michael kors outlet store
prada outlet online
kate spade handbags
yeezy boost 350
air max shoes
dansko shoes
ugg outlet online
ugg outlet
nike air max 97
kate spade outlet online
adidas yeezy
yeezy boost
nike free 5.0
louis vuitton factory outlet
coach factory outlet online
coach factory outlet
cheap air jordans
michael kors outlet online
pirates jerseys
timberland shoes
ecco outlet
kate spade handbags
cheap jordans free shipping
mulberry uk
canada goose jackets
birkenstock sale
coach factory outlet online
adidas yeezy shoes
ugg outlet store
nike cortez classic
coach outlet online
ralph lauren uk
adidas outlet online
lebron james shoes
discount oakley sunglasses
canada goose outlet
adidas store
adidas outlet store
pandora jewelry
louis vuitton outlet online
coach outlet online
canada goose sale
salvatore ferragamo
pandora charms outlet
toms outlet store
adidas sneakers
adidas outlet store
cheap ray ban sunglasses
supreme uk
coach outlet online
blue jays jerseys
nike zoom shoes
birkin handbags
nike air max 90
ugg outlet store
canadian goose jacket
pandora jewelry
ugg outlet
hermens
adidas outlet online
adidas outlet online
nike free 3.0
white sox jerseys
kate spade handbags
dr martens
coach outlet online
coach factory outlet online
pandora rings
louboutin outlet
coach outlet store online
polo ralph lauren outlet online
pandora outlet
pandora charms
philipp plein
ugg outlet store
timberland shoes
birkenstock shoes outlet
cheap air jordans
new balance outlet store
nike sneakers
ralph lauren outlet online
nike outlet online
kate spade outlet online
tiffany and co outlet
christian louboutin sale
dr martens boots
kate spade purses
cheap jordans
pandora jewelry
cheap oakley sunglasses
canada goose outlet
birkenstock shoes
coach factory outlet
coach outlet online
pandora jewelry outlet
ralph lauren uk
ugg boots outlet
yeezy boost 350
coach factory outlet online
cheap air max
fitflop sandals
ysl handbags
nike outlet
louboutin shoes
coach factory outlet online
cheap jordans for sale
moncler
fred perry polo shirts
nike tessen
canada goose outlet store
yeezy shoes
pandora charms
pandora outlet
michael kors outlet store
canada goose
supreme shirts
coach outlet online
polo ralph lauren outlet
tiffany and co jewelry
canada goose
twins jerseys
ugg boots outlet
adidas nmd r1
ecco outlet
adidas shoes
orioles jerseys
kate spade bags
christian louboutin shoes
moncler outlet store
pandora jewelry store
canadian goose
nike air max 2018
coach factory outlet online
asics outlet store
canada goose parka
swarovski crystal
moncler jackets
air max 90
red bottom heels
20180912yuanyuan
 
Mensajes: 36
Registrado: Mié Sep 12, 2018 3:06 am


Volver a Código Abierto

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

cron