Hola a todos, estoy haciendo una práctica con AMS y SQLite y hay algo que no entiendo.
He creado una página sencilla con:
- dos botones xButton "Guardar" y "Nuevo"
- 2 input llamadas (input 1, input2)
- y en la parte inferior un Listbox.
Lo que pretendo es que se muestre en el Listbox los registros que guardo, pero me da un error de sistasis 30001 near ")" syntax error y no me aparece abajo el registro. No se que estoy haciendo mal y ando loco , puede alguien ayudarme .
Tengo AMS 8 con el plugin SQLite activado y este es el código que tengo puesto:
Acción On Startup
Evento On Preload de la página
Evento On Click Boton
Muchas gracias...
He creado una página sencilla con:
- dos botones xButton "Guardar" y "Nuevo"
- 2 input llamadas (input 1, input2)
- y en la parte inferior un Listbox.
Lo que pretendo es que se muestre en el Listbox los registros que guardo, pero me da un error de sistasis 30001 near ")" syntax error y no me aparece abajo el registro. No se que estoy haciendo mal y ando loco , puede alguien ayudarme .
Tengo AMS 8 con el plugin SQLite activado y este es el código que tengo puesto:
Acción On Startup
sDatabaseFile = _SourceFolder.. "\\Autoplay\\Docs\\Autos.db";
db = SQLite.Open(sDatabaseFile);
nLastError = Application.GetLastError()
if nLastError ~= SQLite.OK then
Dialog.Message("Error Apertura de DB", SQLite.GetLastErrorString());
end
SQLite.Query(db, "CREATE Table Ingreso_Autos(RecordID integer primery key, usuario text,contrasena text)");
bNewRecord = true
Evento On Preload de la página
if bNewRecord then
Input.SetText("Input1", "")
Input.SetText("Input2", "")
else
tIngreso_Autos = SQLite.QueryToTable(db, "Select * from Ingreso_Autos where RecordID="..nRecordID)
--Relacionar variables con los campos de la tabla
nRecordID = tIngreso_Autos.Data[1]["RecordID"];
sPlaca = tIngreso_Autos.Data[1]["Placa"];
sColor = tIngreso_Autos.Data[1]["Color"];
--establecer el texto de entrada si se ha escrito en ellos
Input.SetText("Input1", sPlaca);
Input.SetText("Input2", sColor);
end
----------------------------------------------------------------
-- Borrar el contenido de todos los elementos del ListBox
ListBox.DeleteItem("lst_Listado", -1);
-- tabla de consulta y almacenar todas las entradas en la tabla Ingreso_Autos
tIngreso_Autos = SQLite.QueryToTable(db,"SELECT * FROM Ingreso_Autos");
nLastError = Application.GetLastError();
if nLastError ~= SQLite.OK then
Dialog.Message("Error", SQLite.GetLastErrorString());
end
-- si no hay errores, continuar, de lo contrario no hacer nada
if nLastError == SQLite.OK then
--recorrer la tabla
for nRow = 1,tIngreso_Autos.Rows do
--obtener el título del registro actual
sItem = tIngreso_Autos.Data[nRow]["Placa"];
--añadir el elemento a la lista con el texto y los datos de Campo == Marca
--Usar el RecordID en los números de columna, para los campos mostrados
ListBox.AddItem("lst_Listado", tIngreso_Autos.Data[nRow]["Placa"],tIngreso_Autos.Data[nRow]["RecordID"]);
end
end
Evento On Click Boton
--relacionar variables con los objetos del formulario
sPlaca = Input.GetText("Input1");
sColor = Input.GetText("Input2");
--Si es primera vez que agregamos este registro realizara esta acción
if bNewRecord then
SQLite.Query(db,"insert into Ingreso_Autos values(NULL, '"..sPlaca.."', '"..sColor.."',)");
nLastError = Application.GetLastError();
end
if nLastError ~= SQLite.OK then
Dialog.Message("Error: " .. nLastError, SQLite.GetLastErrorString());
else -- si no
SQLite.Query(db,"insert or replace into Ingreso_Autos values('".. nRecordID.."', '"..sPlaca.."', '"..sColor.."')");
nLastError = Application.GetLastError();
if nLastError ~= SQLite.OK then
Dialog.Message("Error: " .. nLastError, SQLite.GetLastErrorString());
end
end
-- Luego de haber hecho cualquiera de las 4 condiciones hará un salto de hoja a la mis mahoja
Page.Jump("Page1")
Muchas gracias...