Einzelnen Beitrag anzeigen

stalkingwolf

Registriert seit: 6. Mai 2011
540 Beiträge
 
#5

AW: Alternative für SQLite auf Android Gerät (fmx)

  Alt 12. Sep 2017, 12:13
es liegt definitiv an sqlite.
Ich lade die Daten per JSON herunter.
Aber wenn ich in der Schleife um den JSONArray das ExecSQL von meinem TDataset auskommentiere, dann rast er durch den Array.

Ich lasse das aktuell noch unter Windows laufen.
Bisher auf einem UNC Pfade und nun habe ich es lokal auf meine Platte geschrieben.
Programm 0% Auslast und die Platte rattert sich nen Ast.
Und selbst auf meiner SSD ist es nicht schneller ( nur leiser )

evtl habe ich auch meine Tabelle falsch definiert.
Code:
const createflgpl_1 = 'CREATE TABLE IF NOT EXISTS FLGPL_1 ('+
        ' LG_NR TEXT NOT NULL PRIMARY KEY,'+
        ' LG_FIL TEXT,'+
        ' LG_PLATZ TEXT,'+
        ' LG_ARTIKEL TEXT,'+
        ' LG_TEIL TEXT,'+
        ' LG_BMGB REAL,'+
        ' LG_BMGV REAL,'+
        ' LG_EKPR REAL,'+
        ' LG_BMGB_ORG REAL,'+
        ' LG_BMGV_ORG REAL,'+
        ' LG_EKPR_ORG REAL,'+
        ' LG_WEDATUM TEXT,'+
        ' LG_ERSTWE TEXT,'+
        ' LG_LETZTERWE TEXT,'+
        ' LG_AEDT REAL)';


.
.
.

            if feld = 'LG_NR' then flgpl_1_insert.parambyname('LG_NR').asstring := myvalue;
            if feld = 'LG_FIL' then flgpl_1_insert.parambyname('LG_FIL').asstring := myvalue;
            if feld = 'LG_PLATZ' then flgpl_1_insert.parambyname('LG_PLATZ').asstring := myvalue;
            if feld = 'LG_ARTIKEL' then flgpl_1_insert.parambyname('LG_ARTIKEL').asstring := myvalue;
            if feld = 'LG_TEIL' then flgpl_1_insert.parambyname('LG_TEIL').asstring := myvalue;
            if feld = 'LG_BMGB' then begin
                flgpl_1_insert.parambyname('LG_BMGB').asstring := myvalue;
                flgpl_1_insert.parambyname('LG_BMGB_ORG').asstring := myvalue;
            end;
            if feld = 'LG_BMGV' then begin
                flgpl_1_insert.parambyname('LG_BMGV').asstring := myvalue;
                flgpl_1_insert.parambyname('LG_BMGV_ORG').asstring := myvalue;
            end;
            if feld = 'LG_EKPR' then begin
                flgpl_1_insert.parambyname('LG_EKPR').asstring := myvalue;
                flgpl_1_insert.parambyname('LG_EKPR_ORG').asstring := myvalue;
            end;
            if feld = 'LG_WEDATUM' then flgpl_1_insert.parambyname('LG_WEDATUM').asstring := myvalue;
            if feld = 'LG_ERSTWE' then flgpl_1_insert.parambyname('LG_ERSTWE').asstring := myvalue;
            if feld = 'LG_LETZTERWE' then flgpl_1_insert.parambyname('LG_LETZTERWE').asstring := myvalue;
        end;

        flgpl_1_insert.ExecSQL; // <- Kommentiere ich das aus, rennt er durch den Array

Edit : Die DB hat mit den 10.000 Datensätze dann eine Größe von 2.320kb. Also nichts.
  Mit Zitat antworten Zitat