Una ayudita con este código el cual pretendo guardar el numero de serie del disco duro, en una db. pero no guarda, me pueden hechar una ayuda a identificar ó corregir algún error.
Actions
On Preload
Actions
sDatabaseFile = _SourceFolder .. "\\AutoPlay\\Docs\\NUMERO.db";
db = SQLite.Open(sDatabaseFile);
nLastError = Application.GetLastError();
if nLastError ~= SQLite.OK then
Dialog.Message("Error al abrir archivo", SQLite.GetLastErrorString());
end
SQLite.Query(db,"CREATE TABLE serie(RecordID integer primary key, SERIES text)");
function GetHDDInfo(sDRIVE)
sDRIVE=String.Replace(sDRIVE,":","",false)
sDRIVE=String.Replace(sDRIVE,"\\","",false)
tbDrives = Drive.Enumerate();
if tbDrives then
nHDDCount=0
for i,v in pairs (tbDrives) do
if Drive.GetType(v) == 3 then
cDRIVE=String.Replace(v,":\\","",false)
cDRIVE=String.Upper(cDRIVE)
if String.Upper(sDRIVE) == cDRIVE then
tbRet={}
tbRet.DriveSerie = DLL.CallFunction("AutoPlay\\Docs\\DriverSer.dll", "DriveSerialNumber", nHDDCount, DLL_RETURN_TYPE_STRING, DLL_CALL_STDCALL);
nHDDCount=nHDDCount+1
end
end
end
else
tbRet = 0
end
return tbRet
end
tbHDD=GetHDDInfo(_SourceDrive)
test="" ..tbHDD.DriveSerie.. "\r"
Input.SetText("Input1", test);
-----------------------------------------GUARDAR DATOS EN LA BASE DE DATOS SQL
function FillSitesList()
tserie = SQLite.QueryToTable(db, "SELECT * FROM serie");
nLastError = Application.GetLastError();
if nLastError ~= SQLite.OK then
Dialog.Message("Error", SQLite.GetLastErrorString());
end
if nLastError == SQLite.OK then
for nRow = 1,tserie.Rows do
sSERIES = tserie.Data[nRow]["SERIES"];
Label.SetText("SQL", tserie.Data[nRow]["SERIES"]);
end
end
end
FillSitesList();
----------------------------------------------------ACTUALIZAR NUEVO REGISTRO
sSerie = Input.GetText("Input1");
SQLite.Query(db,"UPDATE serie SET SERIES='"..sSerie.."' WHERE RecordID=1");
nLastError = Application.GetLastError();
if nLastError ~= SQLite.OK then
Dialog.Message("Error", SQLite.GetLastErrorString());
else
Dialog.Message("Ok", "Serie Guardada!");
end
FillSitesList();
SQLite.Close(db);