![]() |
Datenbank: MS Access • Zugriff über: ADO
zugriff auf Access DB mit ado
Zitat:
Danach mache ich eine sql Abfrage auf eine bestimmte Tabelle und dann erhalte ich die IDispatch error #3092 was läuft da schief? |
Re: zugriff auf Access DB mit ado
Hallo,
ohne die entsprechenden Code-Zeilen, ist das schwierig zu sagen. Hast Du der ADOQuery auch die ADOConnection zugewiesen? |
Re: zugriff auf Access DB mit ado
Delphi-Quellcode:
Der Fehler muss bei .close verursacht werden, ich hatte vorhin noch eine MessageBox danach eingebaut, die wurde aber nicht angezeigt.
Conn:= ini.ReadString('Datenbank', 'ConnectionString', '');
Unit2.Form2.ADOQuery1.Active:= false; Unit2.Form2.ADOQuery1.ConnectionString:= Conn; Tabelle:= ini.ReadString('Datenbank', 'Tabelle', ''); sql:= 'Select * from '+Tabelle+ ' where '+Kennnummer+ '='''+ Kennnr+''''; Form2.ADOQuery1.Close; Form2.ADOQuery1.SQL.Clear; Form2.ADOQuery1.SQL.Add(sql); Form2.ADOQuery1.Open; |
Re: zugriff auf Access DB mit ado
Setze einen Breakpoint auf die erste Zeile und steppe dann mit F8 durch den Code, wenn das Programm am Breakpoint stehengeblieben ist.
Ansonsten versuche mal folgendes Konstrukt:
Delphi-Quellcode:
Grüße
sql:= 'Select * from ' + Tabelle + ' where ' + Kennnummer + '=' + QuotedStr(Kennnr);
Form2.ADOQuery1.SQL.Text := sql; if Form2.ADOQuery1.Active then Form2.ADOQuery1.Requery else Form2.ADOQuery1.Open; Mikhal [edit] QuotedStr eingefügt |
Re: zugriff auf Access DB mit ado
was soll mir denn eigentlich die Fehlermeldung jetzt genau sagen?
|
Re: zugriff auf Access DB mit ado
Zitat:
Bei Zugriff auf Access Datenbanken ist folgendes zu beachten: 1.) man sollte MDAC Version 2.7SP2 oder Version 2.8 installieren. MDAC enthält wie jede Software auch Bugs; obige Versionen laufen aber recht gut. 2.) man sollte unbedingt die JET Engine 4.0 mit dem Servicepack 8 updaten. Auch der Kern von Access (die JET Engine) enthält Bugs, Servicepack 8 fixed die Meisten. Download: ![]() |
Re: zugriff auf Access DB mit ado
ich führe aber doch als erste das Close durch, warum kommt dann eine Fehlermeldung, ich benutze in diesem Moment ja noch gar keinen Tabellennamen, den kennt er da ja noch gar nicht, danach erst gebe ich ihm das SQL-Statement und bis dahin kommt er ja gar nicht.
|
Re: zugriff auf Access DB mit ado
Zitat:
So hast du nur eine Connection offen, anstatt eine Connection pro Query. Auch wenn du jetzt nur eine Query hast, ist das einfach sauberer. Nachdem du den ConnectionString gesetzt hast:
Delphi-Quellcode:
ADOConnection1.Active := True;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:12 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-2025 by Thomas Breitkreuz