AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Grundsätzlicher Zugriff auf Access-Datenbanken
Thema durchsuchen
Ansicht
Themen-Optionen

Grundsätzlicher Zugriff auf Access-Datenbanken

Ein Thema von Chuqa · begonnen am 26. Apr 2006 · letzter Beitrag vom 2. Mai 2006
Antwort Antwort
Seite 1 von 2  1 2      
Chuqa

Registriert seit: 10. Jan 2005
51 Beiträge
 
#1

Grundsätzlicher Zugriff auf Access-Datenbanken

  Alt 26. Apr 2006, 17:24
Datenbank: Access • Zugriff über: noch gar nicht
Aloha,

ich möchte ein kleines Verwaltungsprogramm schreiben. Die Daten sollen in einer Access-DB abgelegt werden. In der Datenbank existieren noch keine Tabellen, die sollen beim ersten Eintrag angelegt werden. Nun bin ich allerdings völlig unbefleckt im Umgang mit Datenbank in Kombination mit Delphi, ich habe also rein gar keine Ahnung wie ich an die Sache rangehen soll geschweige denn welche Komponenten ich benutzen sollte. Da es eilt, habe ich nicht wirklich die Zeit mich durch die Api's zu wühlen, deswegen hoff ich hier schneller fündig zu werden. Also nun zu meinen Fragen.
  • 1. Welche Komponenten?
    • - TQuery, TADOQuery, TTable, TADOQuery, usw.
    2. Wie benutze ich diese Komponenten?
    • - ich habe bisher in Java einen Datenbankzugriff auf eine PostgreSQL-DB realisiert, dort hatte ich dann ein ResultSet (Tabelle) in dem meine Daten enthalten waren, die ich vorher mittels SQL-Syntax abgefragt habe. Gibt es in Delphi etwas Ähnliches?
    3. Wie frage ich sämtliche Tabellen ab, die bisher in der Datenbank enthalten sind?
    • - um so die Tabellen nur anzulegen, wenn sie noch nicht vorhanden sind
Ganz wunderbar wären auch Codeschnipsel.

mfg chuqa
Gruß Chuqa
  Mit Zitat antworten Zitat
shmia

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

Re: Grundsätzlicher Zugriff auf Access-Datenbanken

  Alt 26. Apr 2006, 17:38
Zitat von Chuqa:
ich möchte ein kleines Verwaltungsprogramm schreiben. Die Daten sollen in einer Access-DB abgelegt werden. In der Datenbank existieren noch keine Tabellen, die sollen beim ersten Eintrag angelegt werden.
Ich würde die Access-Datenbank als Datei mit der Anwendung mitgeben.
Das ist deutlich weniger Arbeit; man kann das Erzeugen der Datenbankstruktur aus der Anwendung
auch später noch nachholen.
Zitat von Chuqa:
1. Welche Komponenten?
TADOconnection (gibt's nur einmal im ganzen Programm, sollte auf einem zentralen Datenmodul liegen)
TADOQuery (Standard-Komponente)
TADODataset (bei erweiterten Anforderungen)
TADOTable (bitte auf diese Komponente verzichten, wenn SQL für dich keine Fremdsprache ist)
Zitat von Chuqa:
2. Wie benutze ich diese Komponenten?
"Spielerisch": TADOConnection zu einer AccessDB verbinden (OLE DB Provider: Jet-Engine)
TADOQuery über Property Connection mit der TADOConnection verknüpfen.
TADOQuery.SQL eingeben
TADOQuery mit TDataSource verknüpfen, TDBGrid mit TDataSource verknüpfen und ADOQuery aktiv schalten.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

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

Re: Grundsätzlicher Zugriff auf Access-Datenbanken

  Alt 26. Apr 2006, 20:14
Auf maeiner Homepage findest du einige Code-Schnipsel:

- Wie du ADOX in Delphi einbinden kannst und damit eine Access-Datenbank erstellen kannst.

- Wie du mit AdoQuery eine neue Tabelle in Access anlegen kannst.

Um festzustellen, welche Tabellen bzw. welche Felder einer Tabelle existieren, verwendest du die Methoden GetTableNames und GetFieldNames der TAdoConnection.

Grüße
Mikhal
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat
Chuqa

Registriert seit: 10. Jan 2005
51 Beiträge
 
#4

Re: Grundsätzlicher Zugriff auf Access-Datenbanken

  Alt 27. Apr 2006, 12:09
Herzlichen Dank erstmal, habe ein bißchen rumprobiert und müsste eigentlich hinzubekommen sein .
Trotzdem noch ein paar Fragen:

Benötige ich für jede Komponente, die irgendwie eine Spalte oder eine ganze Tabelle enthält (DBGrid, DBListBox, DBComboBox) eine DataSource und eine ADOQuery oder reicht es, wenn ich während der Laufzeit die SQL-Property des ADOQuery änder und dann die Datenzugriffskomponente an die ADOQuery zuweise?

mfg chuqa
Gruß Chuqa
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

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

Re: Grundsätzlicher Zugriff auf Access-Datenbanken

  Alt 27. Apr 2006, 12:58
DBGrid, DBEdit etc stellen lediglich dein Abfrageergebnis auf dem Bildschirm dar, also benötigen sie immer eine Datenquelle. Sie visualisieren nur das Abfrageergebnis oder dienen zur Erfassung neuer Daten oder von Datenänderungen.

Grüße
Mikhal
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat
Chuqa

Registriert seit: 10. Jan 2005
51 Beiträge
 
#6

Re: Grundsätzlicher Zugriff auf Access-Datenbanken

  Alt 27. Apr 2006, 13:16
hmm ok, dann anders,

gibt es eine möglichkeit, dass ich eine abfrage an die datenbank stelle und dann mit dem ergebnis etwas anstelle, also nicht dass ich das abfrageergebnis an eine komponente zuweise sondern anhand meines ergebnisses etwas ausführe, also z.b. ich betätige einen button, eine sql-abfrage wird ausgeführt und anhand des abfrageergebnisses wird z.b. eine meldung ausgegeben.

mfg
Gruß Chuqa
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Grundsätzlicher Zugriff auf Access-Datenbanken

  Alt 27. Apr 2006, 13:18
Natürlich geht das. bei einer DS kannst du z.B. mit der Eigenschaft .FieldByName('<feldname>').Value auf die Felder zugreifen.
Markus Kinzler
  Mit Zitat antworten Zitat
Chuqa

Registriert seit: 10. Jan 2005
51 Beiträge
 
#8

Re: Grundsätzlicher Zugriff auf Access-Datenbanken

  Alt 27. Apr 2006, 14:34
ok danke erstmal, aber irgendwie begreif ich das ganze noch nicht richtig, sry.

also mal angenommen ich habe dbcombobox und zwei dbtext-komponenten. nun habe ich in meiner datenbank eine tabelle mit mehreren spalten. mal angenommen ich möchte nun die erste spalte der tabelle in der combobox abbilden. nun soll bei auswahl eines eintrages der combobox der zugehörige eintrag in der spalte 2 der tabelle in dem einem dbtext und der zugehörige eintrag in der dritten spalte in der anderen dbtext-komponente abgebildet werde.
so nun:
wie binde ich die datensteuerungskomponenten (dbcombobox,dbtext) an die datenbank an?
wieviel datasource-komponenten mit welcher abfrage benötige ich?

mfg
Gruß Chuqa
  Mit Zitat antworten Zitat
Hasse

Registriert seit: 24. Sep 2004
Ort: Bad Kösen
35 Beiträge
 
Delphi 7 Professional
 
#9

Re: Grundsätzlicher Zugriff auf Access-Datenbanken

  Alt 27. Apr 2006, 15:03
Moin,

den drei Datensteuerungskomponeneten weist du die gleiche Datasource zu (Du brauchst also nur eine Datasource). Der Datasource weist du die AdoQery zu, die dein SQL-Statment enhält.

Hasse
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Grundsätzlicher Zugriff auf Access-Datenbanken

  Alt 27. Apr 2006, 15:17
Die Antwort
Zitat von ich:
Natürlich geht das. bei einer DS kannst du z.B. mit der Eigenschaft .FieldByName('<feldname>').Value auf die Felder zugreifen.
bezog sich auf:
Zitat von Chuqa:
gibt es eine möglichkeit, dass ich eine abfrage an die datenbank stelle und dann mit dem ergebnis etwas anstelle, also nicht dass ich das abfrageergebnis an eine komponente zuweise sondern anhand meines ergebnisses etwas ausführe
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 17:25 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