AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi zugriff auf Access DB mit ado
Thema durchsuchen
Ansicht
Themen-Optionen

zugriff auf Access DB mit ado

Ein Thema von Susanne · begonnen am 17. Aug 2005 · letzter Beitrag vom 17. Aug 2005
Antwort Antwort
Susanne

Registriert seit: 21. Mai 2004
Ort: Lage
232 Beiträge
 
Delphi 2005 Professional
 
#1

zugriff auf Access DB mit ado

  Alt 17. Aug 2005, 11:36
Datenbank: MS Access • Zugriff über: ADO
Zitat:
ADO über die Jet-Engine
Wenn Sie Microsoft Jet 4.0 OLE DB Provider wählen, dann können Sie auf der
Registerseite Verbindung den Datenbanknamen auswählen. Anschließend sollten
Sie den Button VERBINDUNG TESTEN betätigen.
das habe ich gemacht und erhalte dann auch die Meldung, dass der Zugriff auf die Datenbank geklappt hat.

Danach mache ich eine sql Abfrage auf eine bestimmte Tabelle und dann erhalte ich die IDispatch error #3092

was läuft da schief?
Susanne
  Mit Zitat antworten Zitat
Benutzerbild von Gollum
Gollum

Registriert seit: 14. Jan 2003
Ort: Boxberg
456 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

Re: zugriff auf Access DB mit ado

  Alt 17. Aug 2005, 11:45
Hallo,

ohne die entsprechenden Code-Zeilen, ist das schwierig zu sagen.

Hast Du der ADOQuery auch die ADOConnection zugewiesen?
  Mit Zitat antworten Zitat
Susanne

Registriert seit: 21. Mai 2004
Ort: Lage
232 Beiträge
 
Delphi 2005 Professional
 
#3

Re: zugriff auf Access DB mit ado

  Alt 17. Aug 2005, 11:58
Delphi-Quellcode:
 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;
Der Fehler muss bei .close verursacht werden, ich hatte vorhin noch eine MessageBox danach eingebaut, die wurde aber nicht angezeigt.
Susanne
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: zugriff auf Access DB mit ado

  Alt 17. Aug 2005, 12:02
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:
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;
Grüße
Mikhal

[edit] QuotedStr eingefügt
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat
Susanne

Registriert seit: 21. Mai 2004
Ort: Lage
232 Beiträge
 
Delphi 2005 Professional
 
#5

Re: zugriff auf Access DB mit ado

  Alt 17. Aug 2005, 12:22
was soll mir denn eigentlich die Fehlermeldung jetzt genau sagen?
Susanne
  Mit Zitat antworten Zitat
shmia

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

Re: zugriff auf Access DB mit ado

  Alt 17. Aug 2005, 12:32
Zitat von Susanne:
was soll mir denn eigentlich die Fehlermeldung jetzt genau sagen?
Wahrscheinlich ist der Tabellenname falsch geschrieben.
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: http://msdn.microsoft.com/data/downl...s/default.aspx
Andreas
  Mit Zitat antworten Zitat
Susanne

Registriert seit: 21. Mai 2004
Ort: Lage
232 Beiträge
 
Delphi 2005 Professional
 
#7

Re: zugriff auf Access DB mit ado

  Alt 17. Aug 2005, 12:42
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.
Susanne
  Mit Zitat antworten Zitat
shmia

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

Re: zugriff auf Access DB mit ado

  Alt 17. Aug 2005, 12:49
Zitat von Susanne:
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.
Ich würde eine TADOConnection Komponente verwenden und diese mit allen deinen TADOQuery, TADOTable verbinden.
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:
   ADOConnection1.Active := True;
Andreas
  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 14:29 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