![]() |
Datenbank: MySQL • Version: 5.0.41 • Zugriff über: MySQLDAC
Form mit mehreren DataSources
Liste der Anhänge anzeigen (Anzahl: 1)
aloah...
bekomme ich ein problem, wenn eine form mehrer datasources hat???
Delphi-Quellcode:
wenn ich die hier deaktivierten befehle aktiviere, und mein programm laufen lasse, dann bekomme ich
procedure Tlogpic_form.bitbtn_createClick(Sender: TObject);
begin Try With (dbm.main_data) Do Begin Active := False; datsrc_maindata := nil; Application.ProcessMessages; SQL.Clear; SQL.Add('Select ' +'PSKSPN, PSKMPN, PSKPNT, PSKTON, PSKCNR, PSKVNR, ' +'PCKSPN, PCKITM, PCKORT, PCKBEZ, PCKANR, PCKFBE, PCKCUP, ' +'MATANR, MATCUP, MATDIM ' +'From LOGPSK ' +'Left Outer Join LOGPCK ' +'On PSKSPN = PCKSPN ' +'Left Outer Join LOGMAT ' +'On PCKANR = MATANR ' +'And PCKCUP = MATCUP ' +'where PSKSPN = "'+ dbm.No_LOGPIC.FieldByName('PICSPN').Text +'"'); //datsrc_maindata.DataSet := dbm.main_data; Active := True; //dbgrid_maindata.Columns[0].Field := dbm.main_data.FieldByName('PSKSPN'); //dbgrid_maindata.Columns[1].Field := dbm.main_data.FieldByName('PSKMPN'); //dbgrid_maindata.Columns[2].Field := dbm.main_data.FieldByName('PSKPNT'); //dbgrid_maindata.Columns[3].Field := dbm.main_data.FieldByName('PSKTON'); //dbgrid_maindata.Columns[4].Field := dbm.main_data.FieldByName('PSKCNR'); //dbgrid_maindata.Columns[5].Field := dbm.main_data.FieldByName('PSKVNR'); //dbgrid_maindata.Columns[6].Field := dbm.main_data.FieldByName('PCKITM'); //dbgrid_maindata.Columns[7].Field := dbm.main_data.FieldByName('PCKORT'); //dbgrid_maindata.Columns[8].Field := dbm.main_data.FieldByName('PCKBEZ'); //dbgrid_maindata.Columns[9].Field := dbm.main_data.FieldByName('PCKANR'); //dbgrid_maindata.Columns[10].Field := dbm.main_data.FieldByName('PCKFBE'); //dbgrid_maindata.Columns[11].Field := dbm.main_data.FieldByName('PCKCUP'); //dbgrid_maindata.Columns[12].Field := dbm.main_data.FieldByName('MATDIM'); End Except MessageDlg('Error while getting Datas from DB!', mtError, [mbOK], 0); End; ShowMessage(dbm.main_data.FieldByName('MATDIM').AsString); end; eine exception(siehe anhang) wenn ich die query komponente (dbm.maindata) auf true setzen möchte... kann das daran liegen, das ich mehrer datasources auf der form habe die auch zum teil aktiv sind??? oder woran könnte es liegen??? |
Re: Form mit mehreren DataSources
es müsste wohl
Delphi-Quellcode:
heissen.
dbm.No_LOGPIC.FieldByName('PICSPN').asString
|
Re: Form mit mehreren DataSources
nein daran liegts nicht!
hab das gerade geändert und trotzdem kommt immer noch die gleiche exception... der sql befehl müsste soweit auch in ordnung sein, denn wenn ich das füllen des dbgrids sowie die zuweisung für das datasets aus dem programm nehme kriege ich von der sql query dir richtigen daten zurück geliefert! |
DP-Maintenance
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "Datenbanken" verschoben.
Delphi-Frage |
Re: Form mit mehreren DataSources
Hallo...
welches DBMS benutzt du ? welche Komponenten ? ...Zugriffsverletzung gibt es mit Zeos z.B. wenn in der Query die Property Connection vergessen wurde. :hi: |
Re: Form mit mehreren DataSources
ich habs im ersten beitrag nachgetragen...
aber hier nochmal datenbank --> mysql 5.0.41 komponente --> mysqldac das ich die query nicht mit der connection verbunden habe, habe ich schon überprüft, das stimmt aber eigentlich alles!!! |
Re: Form mit mehreren DataSources
Schreib mal das
Delphi-Quellcode:
dbm.main_data.Active;
|
Re: Form mit mehreren DataSources
Moin Andreas,
syntaktisch ist dein Code ja fehlerfrei, aber die Vorgehensweise ist überdenkenswert. Warum erneuerst du die statischen Spalten des DBGrid bei jeder Anfrage? Warum fragst du mehr Spalten bei der DB an als du im Grid zeigst? Warum riskierst du Schreibfehler bei den Spaltennamen, indem du sie mehrmals schreibst? Wenn du das DBGrid mehrmals zur Laufzeit umkonfigurierst, dann kann es eventuell passieren, dass Spalten bestehen bleiben, die auf nicht existente Felder verweisen. Grüße vom marabu |
Re: Form mit mehreren DataSources
Vermutlich liegt es an dieser Zeile:
datsrc_maindata := nil; Du greifst mit datsrc_maindata.DataSet := dbm.main_data; auf ein Objekt zu, das garnicht existiert. |
Re: Form mit mehreren DataSources
danke erst mal für die antworten... inzwischen funktioniert es auch :-) obwohl ich eigentlich nix geändert hab am source code... :shock:
Zitat:
zu der frage warum ich mehr spalten abfrage wie ich anzeige, die anzeige dient nur zu testzwecken! die daten die ich mir im query ermittel, werden später weiterverarbeitet! und da benötige ich alle felder die im query angegeben sind!!! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:53 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