Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Query problem (https://www.delphipraxis.net/128104-query-problem.html)

Gigant02 24. Jan 2009 08:31

Datenbank: SQLite • Version: 2.8 • Zugriff über: Zeos

Query problem
 
Moin Moin

also ich habe da ein problem

ich wollte mal schnell ein unsauberes tool entwickeln was einfach einpaar dinge kombeniert und diese dann wieder abspeichert

dummerweise wird die query wieder geschlossen und ich weiss nicht warum :(

Delphi-Quellcode:
  Form1.zQuery1.SQL.Clear;
  Form1.zQuery1.SQL.Add('SELECT * FROM vornamen');
  Form1.zQuery1.Open;

  while not Form1.zQuery1.Eof DO begin

    Form1.zQuery2.SQL.Clear;
    Form1.zQuery2.SQL.Add('SELECT * FROM nachnamen');
    Form1.zQuery2.Open;


    while not Form1.zQuery2.Eof DO begin

      Form1.zQuery3.SQL.Clear;
      Form1.zQuery3.SQL.Add('SELECT * FROM bundeslaender');
      Form1.zQuery3.Open;


      while not Form1.zQuery3.Eof DO begin

        DB_INSERT('INSERT INTO kunden ("Anrede","Vorname","Nachname","Bundesland") VALUES ("'+
        Form1.zQuery1.FieldByName('Gesch').asString+'","'+
        Form1.zQuery1.FieldByName('Vorname').asString+'","'+
        Form1.zQuery2.FieldByName('Nachname').asString+'","'+
        Form1.zQuery3.FieldByName('Bundesland').asString+'")');

        Form1.zQuery3.Next;
      end;
      Form1.zQuery2.Next;
    end;

    Form1.zQuery1.Next;
  end;
Fehlermeldung:
Zitat:

Im Projekt DemoDB.exe ist eine Exception der klasse EDataBaseError aufgetreten. Meldung: 'ZQuery1: Das Feld 'Gesch' wurde nicht gefunden'. der Proess wurde angehalten'
nun ich vermute das es zQuery1 einfach nicht mehr gibt
aber wie mache ich denn das ganze an besten ??

ps wie mache ich es das ich nicht immer wieder für jede kleine query eine komponente auf die form ziehen muss ??

habe sie auch einfach mal übergeben in eine neue aber da ist genau das gleiche passiert

achso wenn ich die komponenten per copy and paste auf der form vervielfältige kann das zuproblemen führen ???

lg, Gigant

mkinzler 24. Jan 2009 08:35

Re: Query problem
 
Warum verwendest du kein Join Statement?

Gigant02 24. Jan 2009 15:58

Re: Query problem
 
hmm gute frage

aber dennoch muss es doch gehen ???

das kann doch nicht sein das es so nicht geht :(

DeddyH 24. Jan 2009 16:01

Re: Query problem
 
Was willst Du damit eigentlich erreichen? Wenn ich das richtig sehe, ermittelst Du das kartesische Produkt dieser 3 Tabellen und willst das dann abspeichern.

haentschman 24. Jan 2009 16:24

Re: Query problem
 
Hallo...

versuch mal das ganze mit Parametern. Vieleicht rühren die Probleme daher :gruebel:
Delphi-Quellcode:
ZQueryX.Text:='INSERT INTO kunden (Anrede,Vorname,Nachname,Bundesland) VALUES (:Gesch,:Vorname,:Nachname,:Bundesland)';
ZQueryX.ParamByName('Gesch').asString:= Form1.zQuery1.FieldByName('Gesch').asString;
ZQueryX.ParamByName('Vorname').asString:= Form1.zQuery1.FieldByName('Vorname').asString;
ZQueryX.ParamByName('Nachname').asString:= Form1.zQuery2.FieldByName('Nachname').asString;
ZQueryX.ParamByName('Bundesland').asString:= Form1.zQuery3.FieldByName('Bundesland').asString;
DB_INSERT ist eine procedure? Dann müßtest du das entsprechend umsetzen.
:hi:

Die Muhkuh 24. Jan 2009 16:26

Re: Query problem
 
Jetzt noch die Copy&Paste-Fehler wegmachen ;)

haentschman 24. Jan 2009 16:28

Re: Query problem
 
:oops: schon passiert.

zum einen gehört dem Erfinder ein Denkmal gesetzt, aber manchmal ist es nur schlimm :P


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:04 Uhr.

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