Autor |
Beitrag |
Hänsel
      
Beiträge: 99
|
Verfasst: Do 09.08.18 14:30
Ändern bei ADOQuery Connection
Hallo kann jemand weiterhelfen,
Ich habe zwei ADOConnection Komponenten. Alle ADOQuery Tabellen sind zur Zeit mit der ADOConection1 verbunden. Ich möchte aber zur Laufzeit eine Tabelle (ADOQuery1) mit ADOConnection2 verbinden.
Hier gab es eine Fehlermeldung
Delphi-Quelltext 1:
| DataModule1.ADOQuery1.Connection:= ADOConnection2; |
Im voraus besten Dank
hänsel
Moderiert von Th69: Delphi-Tags hinzugefügt
|
|
jasocul
      
Beiträge: 6311
Erhaltene Danke: 125
Windows 7 + Windows 10
Tokyo Prof + CE
|
Verfasst: Do 09.08.18 14:32
Hänsel hat folgendes geschrieben : | Hier gab es eine Fehlermeldung |
Und jetzt dürfen alle raten, welche das ist?
Bitte die Fehlermeldung mit angeben.
|
|
Sinspin
      
Beiträge: 1137
Erhaltene Danke: 75
Win7
DXE2 Prof, Lazarus
|
Verfasst: Do 09.08.18 15:56
Das ist ein bisschen wie nen Ratespiel ohne Felermeldung. Aber, falls ich das richtig verstehe ist deine Query vorher schon mit der ersten Connection verbunden gewesen? Dann musst Du die Query natürlich zu machen bevor Du die Connection wechseln kannst.
_________________ Solange keine Zeile Code geschrieben ist, läuft ein Programm immer fehlerfrei.
Ich teste nicht, weil ich Angst habe Fehler zu finden.
|
|
Hänsel 
      
Beiträge: 99
|
Verfasst: Do 09.08.18 16:19
|
|
Sinspin
      
Beiträge: 1137
Erhaltene Danke: 75
Win7
DXE2 Prof, Lazarus
|
Verfasst: Fr 10.08.18 11:45
Auf die Antwort zu deiner Frage kommst Du doch selber!
Dafuer muss man doch nicht erst eine Frage hier im im Forum stellen und dann tagelang auf eine Antwort warten.
PS: Schau doch einfach mal nach von was fuer einem Typ Connection sein muss!
_________________ Solange keine Zeile Code geschrieben ist, läuft ein Programm immer fehlerfrei.
Ich teste nicht, weil ich Angst habe Fehler zu finden.
|
|
jasocul
      
Beiträge: 6311
Erhaltene Danke: 125
Windows 7 + Windows 10
Tokyo Prof + CE
|
Verfasst: Fr 10.08.18 12:02
Boah, ich habe immer nur im ersten Beitrag versucht, die Fehlermeldung abzugleichen.
@Hänsel:
Vergleiche mal die Zeile des Sources, der in deinem Beitrag mit der Fehlermeldung steht, mit dem im ersten Beitrag. Die sind unterschiedlich.
Das ist so banal, dass ich die Lösung nicht verraten mag. Das würde den Lerneffekt zerstören.
|
|
Hänsel 
      
Beiträge: 99
|
Verfasst: Fr 10.08.18 12:26
Hallo
wenn ich es gewusst hätte, hätte ich euch nicht gefragt.
Trotzdem besten Dank.
hänsel
|
|
jasocul
      
Beiträge: 6311
Erhaltene Danke: 125
Windows 7 + Windows 10
Tokyo Prof + CE
|
Verfasst: Fr 10.08.18 12:50
Delphi-Quelltext 1: 2:
| DataModule1.ADOQuery_Objekte.Connection:='ADOConnection2'; DataModule1.ADOQuery_Objekte.Connection:=ADOConnection2; |
|
|
Hänsel 
      
Beiträge: 99
|
Verfasst: So 12.08.18 07:49
Dies wurde bei mir auch schon getestet, mit folgender Fehlermeldung:
Zitat: | [dcc32 Fehler] Unit_Abrechnung.pas(864): E2003 Undeklarierter Bezeichner: 'ADOConnection2' |
Moderiert von Th69: Quote-Tags hinzugefügt
|
|
Frühlingsrolle
      
Beiträge: 2162
Erhaltene Danke: 399
[Win NT] 5.1 x86 6.1 x64
[Delphi] 7 PE, 2006, 10.1 Starter, Lazarus - [C#] VS Exp 2012 - [Android API 15] VS Com 2015, Eclipse, AIDE - [C++] Builder 10.1
|
Verfasst: So 12.08.18 11:06
Guten Tag Hänsel,
in deinem Projekt fehlt das entsprechende TADOConnection Objekt namens ADOConnection2.
Das sollte sich entweder auf deinem Formular befinden, oder zumindest zur Laufzeit erzeugt, sowie innerhalb der Klasse deklariert sein, z.B.:
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| type TForm1 = class(TForm) ADOConnection2: TADOConnection; private public end; |
_________________ „Politicians are put there to give you the idea that you have freedom of choice. You don’t. You have no choice. You have owners. They own you. They own everything." (George Denis Patrick Carlin)
|
|
jasocul
      
Beiträge: 6311
Erhaltene Danke: 125
Windows 7 + Windows 10
Tokyo Prof + CE
|
Verfasst: Mo 13.08.18 06:45
Vielleicht fehlt es nicht, sondern ist nur auf der falschen Form/DataModul.
Bei der Schreibweise der ADOQuery vermute ich, dass das hier die Lösung sein könnten:
Delphi-Quelltext 1:
| DataModule1.ADOQuery_Objekte.Connection:=DataModule1.ADOConnection2; |
Falls das so sein sollte:
Wenn du bei der Zuweisung nicht sagst, wo das liegt, wird nur in der aktuellen Form gesucht.
Genaugenommen ist das in dieser Formulierung nicht korrekt, aber ich will dich an dieser Stelle nicht verwirren. Sollte das die Lösung sein, kann man sicher nochmal genauer darauf eingehen
|
|
Hänsel 
      
Beiträge: 99
|
Verfasst: Mo 13.08.18 12:31
Der letzte Hinweis war richtig. Für mich nicht ganz klar, denn ich habe ja zu Begin der Zeile (DataModule1) ja schon den Ort benannt. Aber egal so läuft es und dafür möchte ich mich noch einmal bedanken!
Gruß
hänsel
|
|
jasocul
      
Beiträge: 6311
Erhaltene Danke: 125
Windows 7 + Windows 10
Tokyo Prof + CE
|
Verfasst: Mo 13.08.18 13:14
Neee, egal ist das nicht (falls du was dabei lernen möchtest)
Einfach ausgedrückt:
Deine "Variable" ADOQuery_Objekte ist etwas eigenständiges und hat mit der "Variablen" ADOConnection2 nichts zu tun, außer, dass beide in DataModule1 deklariert wurden.
Das bedeutet, dass du die Variablen immer vollständig bezeichnen musst, wenn du diese verwenden willst. Es gibt eine Möglichkeit, das zu umgehen (with), aber von der Nutzung rät eigentlich jeder Profi ab. Falls du also mal über "with" stolperst, lass die Finger davon.
|
|