Hallo,
ich bekomme folgende Fehler Meldung beim ausführen der Procedere:
Zitat:
Sqlite3Dateset1: SQLITE_ERROR - unrecognized token:
"'482_Eintrag0,6-8-07,30-12-99,0,0);".
speichern tue ich so:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
node:PVirtualNode;
Data:PNotizint;
i:Integer;
id:String;
tbName,tbchild,str:string;
s:Boolean;
level,index:Integer;
begin
// Sqlite3Dataset1.SQL:='create table Pluto (Eintrag1 INTEGER PRIMARY KEY,data TEXT)';
// Sqlite3Dataset1.ExecSQL;
tbName:=vst.name + '_root';
if not Sqlite3Dataset1.TableExists(tbname) then begin
Sqlite3Dataset1.SQL:='create table '+
tbname + TBF;
Sqlite3Dataset1.ExecSQL;
// Sqlite3Dataset1.CreateTable(vst.name + '_root')
end;
node:=vst.GetFirst;
Sqlite3Dataset1.TableName:=tbname;
str:=tbname;
s:=False; level:=0;
while node <> NIL do begin
data:=vst.GetNodeData(node);
Sqlite3Dataset1.SQL:='insert into '+str+' (ID,data,CreateDate,CreateTime,ReadCount,ChangeCount) values (' + data^.id+','''+data^.caption+','+DateToStr(data^.CreateDate)+','+DateToStr(data^.CreateTime)+','+ IntTostr(Data^.ReadCount)+','+IntTostr(Data^.ChangeCount)+');';
Sqlite3Dataset1.ExecSQL;
if (s = False) then level:=node^.ChildCount;
if (level > 0) and (s = False) then begin
s:=True;
tbchild:=''+vst.name +'_'+data^.id+'';
str:=tbchild;
Writeln(str);
Sqlite3Dataset1.SQL:='create table ' + str + TBF;
Sqlite3Dataset1.ExecSQL;
end; // if level > 0
if (s = True) and (level = 0) then begin
s:=False;
str:=tbname;
end
else
level:=level-1;
node:=vst.GetNext(node);
end;
end;
tbf ist eine Constanze die so aussieht:
const
TBF = ' (ID Text, data Text, CreateDate Text, CreateTime Text, ReadCount INTEGER, ChangeCount INTEGER)';
bevor ich das geändert habe, ging das speichern. Problem los, da hatte ich auch nur die fehlder ID und Text.
Weiß jemand von euch evlt. die Lösung ?