AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

insert per schleife

Ein Thema von Sauerkrautpoet · begonnen am 28. Aug 2006 · letzter Beitrag vom 28. Aug 2006
Antwort Antwort
Sauerkrautpoet

Registriert seit: 18. Jul 2006
Ort: Leipzig
20 Beiträge
 
#1

insert per schleife

  Alt 28. Aug 2006, 17:31
Datenbank: MySQL / FB • Version: 5.x • Zugriff über: ZEOS / ibo
hallo!
ich lade ein formular, bevor dies angezeigt wird, sollen daten von einer MYSQL tabelle in eine FB tab kopiert werden. also habe ich:

Delphi-Quellcode:
procedure onshow()
begin

   mysql_query_copy:=true; //sql code ist bereits vorhanden, kann also aktiv geschalten werden,wählt nur die relevanten daten mit nem select aus
   recordcount:=0;
   tmp:=iboqry_copy.sql.text;
    
    while NOT mysql_query_copy.EOF do
     begin
        recordcount++;
        iboqry_copy.param[0].asinteger:=mysql_query_copy.fieldvalue['irgendwas'];
          //gefüllt werden noch viele andere parameter

        iboqry_copy.execsql; //ibo_sql-insert ausführen
        mysql_query_copy.next //nächsten Datensatz anwählen
        iboqry_copy.sql.text:=i; //ursprünglichen sqlinsert wiederherstellen
      end;
     mysql_query_copy.active:=false;
     iboqry_showcopydata.active:=true; //abfrage zum anzeigen der kopierten daten aktivieren
end;

das ding ist jetzt: wenn ich das query showcopydata aktiviere(gehört zu einer grid) spuckt mir das ding wesentlich mehr datensätze aus wie ich egtl eingefügt hatte, lets say: copy:3 DS, angezeigt werden 18.
ich dachte erst, ich schleppe alten sqltext mit und habe dann den urspünglichen sql-insert immer wieder zurückgesetzt...bringt nix...
wenn man sich recordcount ausgeben lässt, wurden auch nur (zb) 3 durchläufe absolviert, dennoch besteht das -evolutionsbiologisch gesehen äußerst effektive-ergebnis von 18datensätzen...
wäre toll wenn jmd einen tipp hätte
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: insert per schleife

  Alt 28. Aug 2006, 17:51
1.) das Event OnShow kann durchaus mehrfach von der VCL angefeuert werden (6*3=18 )
2.) du setzt ein Flag (mysql_query_copy), fragst es aber nicht ab. Warum?
3.)
iboqry_copy.sql.text:=i; //ursprünglichen sqlinsert wiederherstellen Warum willst du den ursprünglichen sqlinsert wiederherstellen?
Das bringt doch nichts ausser Verwirrung.
Für jede Aufgabe gibt es eine eigene Query.
Andreas
  Mit Zitat antworten Zitat
Sauerkrautpoet

Registriert seit: 18. Jul 2006
Ort: Leipzig
20 Beiträge
 
#3

Re: insert per schleife

  Alt 28. Aug 2006, 18:41
Zitat von shmia:
1.) das Event OnShow kann durchaus mehrfach von der VCL angefeuert werden (6*3=18 )
2.) du setzt ein Flag (mysql_query_copy), fragst es aber nicht ab. Warum?
3.)
iboqry_copy.sql.text:=i; //ursprünglichen sqlinsert wiederherstellen Warum willst du den ursprünglichen sqlinsert wiederherstellen?
Das bringt doch nichts ausser Verwirrung.
Für jede Aufgabe gibt es eine eigene Query.
danke, dass du dich kurz damit auseinandergesetzt hast!

punkt 1. dachte ich mir auch und hatte es schon per onclick probiert, selber schnulli...

zu punkt 2:
mysql_query_copy wird doch abgefragt...vor der while wird das query aktiviert und in der schleife per fieldvalues[..] abgerufen..sorry hatte im codebeispiel das ".active" vergessen *hmpf*


den sqlbefehl wiederherzustellen ist im grunde totaler schwachfug, da kann ich dir nur recht geben. aber eben weil die anzahl der ergebnisdatensätze so komisch war(bei 3->18 bei 5->34) hab ich auch auf einen komischen sachverhalt getippt: wollte nur vorsorgen, dass nicht im hintergrund der vorgehende sqlbefehl noch mitgeschleift wird..weisd wie...ergo ich irgendwas doppelt ausführe..war nur ein versuch
ich will ja damit nicht einen komplett andren query überschreiben...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:24 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