Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi "Einfacher" Zugriff auf Access DB (https://www.delphipraxis.net/91754-einfacher-zugriff-auf-access-db.html)

ImpCaligula 9. Mai 2007 11:49

Datenbank: Access • Version: 2ßß3 • Zugriff über: ?

"Einfacher" Zugriff auf Access DB
 
Salü....

ich suche verzweifelt nach einem einfachen Code Bsp um auf eine Access DB zu zugreifen.
Das Code Bsp sololte enthalten.

- Zugriff auf die Access DB
- Zugriff auf eine bestimmte Tabelle
- Zugriff auf Datensatz 2
- Auslesen Tabelle X, Spalte "Name", Zeile 2
- Datensatz ändern Tabelle X, Spalte "Name", Zeile 2
- DB schließen

Und das am besten "Handisch" - also ohne irgendwelche Controlls, wenn das denn geht. Im I-Net habe
ich einige Bsp gefunden, werde daraus aber absolut nicht schlau, trotz Ausprobieren.

mkinzler 9. Mai 2007 11:58

Re: "Einfacher" Zugriff auf Access DB
 
http://www.dsdt.info/tutorials/ado/

oldmax 9. Mai 2007 12:15

Re: "Einfacher" Zugriff auf Access DB
 
Hi
Ich weiß nicht, ob du die Datenbankmodule und Objecte z.B.TQuery etc. hast. Wenn ja, ist's einfach.Unter Datei Neu holst du dir ein Datenmodul und setzt eine Query und ein UpdateSQL hinein. Üer den Menüpunkt Datenbank-> Explorer gehst du auf Object-> neu und generiers einen Datenbank treiber "Microsoft Access". Darin gibst du die Access-Datenbank an und speicherst zum Schluß diesen Treiber ab.
Nun kannst du diesen Treiber der Query zuweisen. Um eine Tabelle auszuwählen kannst du nun mit der rechten Maustast in die Query gehen und den SQL-Builder auswählen. Anschließend die gewünschte Tabelle aussuchen und alle Felder anwählen (*) und fertig.
Nun noch den Parameter auf CachedUpdates auf true und in Updateobject das UpdateSQL-Object eintragen.
Im UpdateSQL -Object nun auch mit rechter Maustaste den UpdateSQL-Editor aufrufen,, die Tabelle auswählen, das Indexfeld markieren und anschließend die SQL erzeugen. Danach sollte dem Zugriff auf Access-Tabellen nix mehr im Weg stehen.
Gruß oldmax

Asparius 9. Mai 2007 18:30

Re: "Einfacher" Zugriff auf Access DB
 
Hallo , ich habe das gleiche Problem
ich habe alles so gemacht und dann kommt
aber immer die Abfrage nach DATENBANK Loggin
ich verwende access 2003, habe die Datenbank
dort selbst erstellt und kein Passwort
oder ähnl. vergeben.
Weiss jemand, woran das liegen kann

shmia 9. Mai 2007 18:49

Re: "Einfacher" Zugriff auf Access DB
 
Zitat:

Zitat von Asparius
... und dann kommt aber immer die Abfrage nach DATENBANK Loggin

Delphi-Quellcode:
ADOConnection1.LoginPrompt := False;
das ist einfach, oder ?

ImpCaligula 10. Mai 2007 10:13

Re: "Einfacher" Zugriff auf Access DB
 
Zitat:

Zitat von mkinzler
http://www.dsdt.info/tutorials/ado/

Ja kenne ich, Danke. Die Verbindung hat auch so funktioniert!
----

Also, ich bin jetzt auf folgendem Stand. Ich habe ein Form mit 2 Buttons. Hier kann ich
den Connect zur DB machen und den Disconnect. Klappt wunderbar. Ich bin mit der DB verbunden.
Und zwar über eine zweite Unit - ich habe über Datei / Neu / weitere ein DataModule eingebunden.
Dann habe ich auf das DataModule ein ADOConnection Control gezogen und damit die Verbinbung zur
Access DB gemacht. Dann habe ich das DataModule(Unit2) in meine Unit1 eingebunden.

Wie gesagt, klappt hervorragend!

So und nun stocke ich, obwohl ich schon alles ausprobiert habe. Und hier wäre eine Hilfe Eurer seits
echt super - wie gesagt, habe alles ausprobiert :-)

Die Verbindung zur DB steht also.

Ich habe nun vor, mir 3 Textfelder (Edit) auf mein Form zu ziehen. Dazu gibt es ja extra im Register
DataControlls das DBEdit Control. So - aber nun muss ich dieses DBEdit ja irgendwie mit der ADOConnection
in Verbidnung bekommen.

So aus der .Net Welt kenne ich da so Controlls wie das DataSet, DataSource, DataTable usw. Aber ich bekomme
einfach keine schlüssige Verbindung hin. Meine Frage daher - wie lautet die Verbindungskette von ADOConnection
bis zum DBEdit?

ADOConnections -------------------> DBEdit ..... was fehlt dazwischen.
ADOConnections -------------------> DBNavigator ..... was muss hier dazwischen.


Danke für Eure Hilfe.

Udontknow 10. Mai 2007 10:30

Re: "Einfacher" Zugriff auf Access DB
 
Hallo!

Hier die Übersicht:

AdoConnection -> AdoQuery/AdoTable -> Datasource -> Steuerelemente wie TDBGrid/TDBedit etc..

Cu,
Udontknow

ImpCaligula 10. Mai 2007 10:43

Re: "Einfacher" Zugriff auf Access DB
 
Zitat:

Zitat von Udontknow
Hallo!

Hier die Übersicht:

AdoConnection -> AdoQuery/AdoTable -> Datasource -> Steuerelemente wie TDBGrid/TDBedit etc..

Cu,
Udontknow

Ah, das nenne ich Service! Super, dann probiere ich das gleich mal aus.
Dann ist das auch die Reihenfolge aller anderen DB wahrscheinlich..... SQL etc.

Dann lege ich gleich mal los und berichte!

ImpCaligula 10. Mai 2007 11:11

Re: "Einfacher" Zugriff auf Access DB
 
Ok.... es geht nicht. ist meiner Ansicht auch logisch, weil meiner Logik nach noch etwas fehlt!
Also, ich habe folgendes gemacht.

1. ADOConnection genommen, auf das Form gezogen und die Verbindung zur Access DB hergestellt.
Dazu habe ich den Jet Treiber genommen (4.0) zu einer Access 2003 DB im Access 2000 Format. Die
DB habe ich herausgesucht (Pfad) und die Verbindung getestet. Steht!

2. Dann habe ich die ADOTable genommen, aufs Form gezogen und unter "CONNECTION" die o.g. Quelle
ADOConnection ausgewählt.

3. Dann habe ich das DataSet genommen, aufs Form gezogen und bei Connection wiederum die ADOTable
genommen.

4. Nun habe ich das Grid genommen und habe als Quelle wiederum bei Connection das DataSet genommen.
Und siehe da - keine Daten :-(

Scheint mir aber logisch - die DB habe ich, aber wo suche ich heraus, welche Tabelle aus meiner Access
DB genommen werden kann???

http://img518.imageshack.us/img518/2487/databasezu5.jpg

Udontknow 10. Mai 2007 11:18

Re: "Einfacher" Zugriff auf Access DB
 
Bei der AdoTable-Komponente gibt es die Eigenschaft TableName. Mit Dataset meintest du wohl Datasource, ja?

Nicht das Aktivieren der AdoTable vergessen...

Cu,
Udontknow


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:22 Uhr.
Seite 1 von 2  1 2      

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