Uso de SQLite2008 Pro con Lua

12 views
Skip to first unread message

Chema Cortes

unread,
May 6, 2008, 8:36:59 AM5/6/08
to lua-es
Hola,

Mirando utilidades para sqlite, veo que con SQLite2008 Pro[1] indica
lo siguiente:

"SQLite2008 Pro Enterprise Manager is a freeware tool that enables you
to manage your SQLite3 databases. Not only that, you can using this
tool for learning and working with LUA programming language."

Sería ideal poder utilizar esta herramienta para trabajar con lua y
sqlite, pero no encuentro cómo. No hay más documentación que las
propias de sqlite3 y lua. ¿Sabe álguien cómo se podría ejecutar
scripts de lua desde esta herramienta?


[1] http://www.osenxpsuite.net/?xp=3

Jose Luis Hidalgo

unread,
May 7, 2008, 4:59:19 AM5/7/08
to lua...@googlegroups.com
Ni idea. En luaforge hay un proyecto
http://luaforge.net/projects/luasqlite/, de todas formas si encuentras
algo, y no es libre, podría ser un proyecto interesante tener algo así
libre para lua.

2008/5/6 Chema Cortes <pyc...@gmail.com>:

--
Jose L. Hidalgo Valiño (PpluX)
---- http://www.pplux.com ----

Ignacio Burgueño

unread,
May 7, 2008, 10:07:48 AM5/7/08
to lua...@googlegroups.com
Chema Cortes wrote:
> Hola,
>
> Mirando utilidades para sqlite, veo que con SQLite2008 Pro[1] indica
> lo siguiente:
>
> "SQLite2008 Pro Enterprise Manager is a freeware tool that enables you
> to manage your SQLite3 databases. Not only that, you can using this
> tool for learning and working with LUA programming language."
>
Buenas, a mi me pasó lo mismo. Le mandé un mail al autor y me explicó
(básicamente, escribir el script y apretar F9)

Hi,

Thank you for downloading SQlite2008Pro.
Here is the sample to use lua script.
Please try to write like this in sqlite query editor:

print(_VERSION)

after that, please press F9 key.

now working with sqlite3 database, but firstly please make sure you have
a connection with any sqlite3 database. lua script:

sqlite3.exec('create table a(a,b,c)')

for i=1,100 do
sqlite3.exec('insert into a values(1,2,3')
end

press F9 key and then refresh database schema.

Regards,
osen

Chema Cortes

unread,
May 8, 2008, 2:21:38 PM5/8/08
to lua...@googlegroups.com
El 2008/5/7 Ignacio Burgueño <ibur...@gmail.com> escribió:

>
> Chema Cortes wrote:
>>
>> Mirando utilidades para sqlite, veo que con SQLite2008 Pro[1] indica
>> lo siguiente:
>>
>> "SQLite2008 Pro Enterprise Manager is a freeware tool that enables you
>> to manage your SQLite3 databases. Not only that, you can using this
>> tool for learning and working with LUA programming language."
>>
> Buenas, a mi me pasó lo mismo. Le mandé un mail al autor y me explicó
> (básicamente, escribir el script y apretar F9)

He estado experimentando un poco. Hay algunas cosas que funcionan de
modo distinto como la función print sólo admite un argumento o que no
se pueden usar comillas dobles. Supongo que no está todavía preparado
para programaciór general de scripts, sobre todo por lo frecuente que
se inestabiliza al ir ejecutando scripts. Aún así he hecho alguna
cosa, que os añado a continuación por si le sirve de ejemplo a
álguien. Consigo "preparar" una query y creo una función de usuario.
La versión de lua-sqlite es la versión devel-0.6, bastante diferente a
la que podáis estar acostumbrados:


--función para mostrar una fila
local showrow=function(udata,cols,data,names)
print('>> '..table.concat(data,' ',1,cols))
return 0
end

local db=sqlite3.db()

db:execute[[
create table prueba(a number,b number,c number);
]]

local stmt=db:prepare 'insert into prueba values(:id,:id +1,:id -1)'
for i=0,100 do
stmt:bind_names{id=i}
stmt:step()
stmt:reset()
end
stmt:finalize()

--Imprimir los resultados
db:execute('select * from prueba',showrow)

--Creación de una función de usuario
local sumax=function(ctx,a) ctx:result(a+10) end
db:create_function('sumax',1,sumax)
db:execute('select a,sumax(a) from prueba',showrow)


Para ejecutarlo, basta abrir una base de datos en SQLite2008Pro, pegar
el código en una ventana de SQL y pulsar F9.

Reply all
Reply to author
Forward
0 new messages