Einzelnen Beitrag anzeigen

mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#1

SQL Fehlder Meldung beim schreiben ?

  Alt 6. Aug 2007, 22:27
Datenbank: Direckt • Version: 3 • Zugriff über: SQLite
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 ?
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat