Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi TQuery --> SQL BEfehler ausführen --> Fehler (https://www.delphipraxis.net/60109-tquery-sql-befehler-ausfuehren-fehler.html)

Christian18 3. Jan 2006 14:45

Re: TQuery --> SQL BEfehler ausführen --> Fehler
 
Hallo,

ich habe jetzt ein neues Probelem, was aber damit zu tun hat. Ich bin gerade dabei ein kleines Programm zu schreiben was mir Paradox 7 Tabellen in eine Access DB Konvertiert. Der flogende Code funktioniert soweit ganz gut, aber es wird die Tabelle DB in der Datenbank Kinder.mdb erstellt. Das soll aber anderesrum sein. Also die Tabelle Kinder in der db.mdb. Ich kann bei mir aber auch keinen Fehler finden. Könnt ihr mir helfen??? Hier ist mein Quellcode:

Delphi-Quellcode:
procedure TFMain.BitBtn1Click(Sender: TObject);
  var i : Integer; // Schleifenvariable
      q : TQuery;  // für SQL Anweisungen
      j : Integer; // Schleifenvariable
      t : TTable;  // Table
      s : String;  // Daten Typ
begin
  if ListBox1.Items.Count = 0 then
    begin
      ShowMessage('Bitte füllen Sie erst die Liste mit den Quellen.');
    end
  else
    begin
      if Edit1.Text = '' then
        begin
          ShowMessage('Bitte wählen Sie erst eine Ziel Datenbank aus.');
        end
      else
        begin
          for i:=1 to ListBox1.Items.Count do
            begin
              q:=TQuery.Create(self);
              q.DatabaseName:='Christian';
              q.SQL.Clear;
              q.SQL.Add('Create Table ' + ExtractFileName(ListBox1.Items[ListBox1.ItemIndex]));
              q.SQL.Add('(');
              t:=TTable.Create(self);
              t.Active:=False;
              t.TableName:=ListBox1.Items[ListBox1.ItemIndex];
              t.Active:=True;
              for j:=0 to t.FieldCount - 1 do
                begin
                  case t.FieldDefList.FieldDefs[j].DataType of
                    ftAutoInc : s:='Counter';
                    ftString  : s:='Char(' + IntToStr(t.FieldDefList.FieldDefs[j].Size) + ')';
                    ftInteger : s:='Integer';
                    ftFloat   : s:='Float';
                    ftMemo    : s:='Memo';
                    ftDate    : s:='Date';
                    ftTime    : s:='Date';
                    ftDateTime : s:='Date';
                  end;
                  if j = t.FieldCount - 1 then
                    begin
                      q.SQL.Add(t.FieldDefList.FieldDefs[j].Name + ' ' + s);
                    end
                  else
                    begin
                      q.SQL.Add(t.FieldDefList.FieldDefs[j].Name + ' ' + s + ',');
                    end;
                end;
              //t.Free;
              q.SQL.Add(')');
              Memo1.Clear;
              Memo1.Lines.Add(q.SQL.GetText);
              q.ExecSQL;
              //q.Free;
            end;
        end;
    end;
end;

Christian18 3. Jan 2006 15:12

Re: TQuery --> SQL BEfehler ausführen --> Fehler
 
Hallo,

ich habe mein Fehler schon selber gefunden. Es lag an meinen Verwendeten Namen für die Tabelle die erzeugt werden sollte. Mann sollte keine Punkte (.) in den Tabellen Namen verwenden.

MFG Christian18


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:43 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz