![]() |
Datenbank: MySQL / FB • Version: 5.x • Zugriff über: ZEOS / ibo
insert per schleife
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 |
Re: insert per schleife
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.)
Delphi-Quellcode:
Warum willst du den ursprünglichen sqlinsert wiederherstellen?
iboqry_copy.sql.text:=i; //ursprünglichen sqlinsert wiederherstellen
Das bringt doch nichts ausser Verwirrung. Für jede Aufgabe gibt es eine eigene Query. |
Re: insert per schleife
Zitat:
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... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:46 Uhr. |
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