AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi ADO Komponente und lesen aus *.mdb
Thema durchsuchen
Ansicht
Themen-Optionen

ADO Komponente und lesen aus *.mdb

Ein Thema von Delphi_Atze · begonnen am 16. Jun 2009 · letzter Beitrag vom 18. Jun 2009
Antwort Antwort
Delphi_Atze
(Gast)

n/a Beiträge
 
#1

ADO Komponente und lesen aus *.mdb

  Alt 16. Jun 2009, 22:24
Datenbank: *.mdb • Zugriff über: TADOConnection
Hallo,

stehe vor einem weiteren Projekt. Ich habe eine Datenbank in der form "datenbank.mdb"
Ich habe es geschafft eine Verbindung herzustellen mit "TADOConnection"
Habe dazu das Tutorial von db benutzt. Habe es auch geschafft das ganze mit Hilfe von "TDataSource" und "TADOTable" und dann in einem "TDBGrid" anzuzeigen. Nach weiterm Recharchieren habei ch dann rausbekomen, dass man das TDBGrid nur zum ansehen der Datensätze benutzt, aber nicht zum editieren. Da soll wohl die TADOTable reichen.

Jetzt mein Problem:
in der Datenbank befinden sich 2 Spalten ("UID" und "name") mit 14 Reihen (siehe Anhang). Ich möchte jetzt die Anzahl der Reihen in der UID ermittel und als array , mit for2do schleife, speichern (z.b uid[i]:= ...). Delphi Hilfe war mir keine Hilfe, da steht hauptsächlich für was ich die TADOTable und co verwende und damit kam ich noch nicht so recht klar. Habe mehr info dann im Netz gefunden, bis auf diese, die ich jetzt brauche. Nebenbei wäre es vielleicht auch gut zu wissen, wie man Datensätze in diese Tabelle schreibt. Muss man das über ADOQuery machen?

Ich bitte um Hilfe.
Vielen Dank
Miniaturansicht angehängter Grafiken
frage2_416.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#2

Re: ADO Komponente und lesen aus *.mdb

  Alt 17. Jun 2009, 01:37
Delphi-Quellcode:
i := 0;
ADOTable1.First; // auf 1. Datensatz
while not ADOTable1.Eof do
begin
   uid[i]:= ADOTable1.FieldByName('uid').AsString;
   name[i]:=ADOTable1.FieldByName('name').AsString;
   Inc(i);
   ADOTable1.Next; // nächster Datensatz
end;
Hinweise:
die Anzahl der Datensätze kann man im Property RecordCount auslesen. (dieser Wert muss aber nicht immer korrekt gefüllt sein)
Man sollte aber immer wie oben gezeigt eine While-Schleife benützen und nicht eine For-Schleife.
fork me on Github
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: ADO Komponente und lesen aus *.mdb

  Alt 17. Jun 2009, 06:32
Die Frage ist nur, zu was brauchst du die Werte in einem Array?
Markus Kinzler
  Mit Zitat antworten Zitat
Delphi_Atze
(Gast)

n/a Beiträge
 
#4

Re: ADO Komponente und lesen aus *.mdb

  Alt 17. Jun 2009, 15:31
ich habe in dieser Datenbank 4 kleine Datenbanken (weiß nicht direkt wie man das bezeichnet). Jedenfalls ist in der ersten Datenbank 2 Spalten der Form NummerX und NameX in der 2. Datenbank steht NummerX NameY. Jetzt muss ich NameX und NameY ins verhältnis stellen. Deshalb wollte ich das über arrays lösen.

Wie kann ich einzellne Zeilen ansteuern?

danken für eure schnell Hilfe
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#5

Re: ADO Komponente und lesen aus *.mdb

  Alt 17. Jun 2009, 23:54
Zitat von Delphi_Atze:
...4 kleine Datenbanken (weiß nicht direkt wie man das bezeichnet).
Das sind Tabellen

Zitat von Delphi_Atze:
Jedenfalls ist in der ersten Datenbank 2 Spalten der Form NummerX und NameX in der 2. Datenbank steht NummerX NameY. Jetzt muss ich NameX und NameY ins verhältnis stellen.
So etwas lässt sich leicht über SQL lösen.
Delphi-Quellcode:
ADOQuery1.SQL.Text := 'SELECT Tabelle1.NameX, Tabelle2.NameY FROM Tabelle1 INNER JOIN Tabelle2 ON Tabelle1.NummerX=Tabelle2.NummerX';
ADOQuery1.Open;
http://www.sqltutorial.de/
fork me on Github
  Mit Zitat antworten Zitat
Delphi_Atze
(Gast)

n/a Beiträge
 
#6

Re: ADO Komponente und lesen aus *.mdb

  Alt 18. Jun 2009, 14:42
geht da auch, wenn die datensätze ungeordnet sind in beiden Tabellen? BZW kann ich dies auch als while schleife einbinden?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: ADO Komponente und lesen aus *.mdb

  Alt 18. Jun 2009, 14:50
Zitat:
geht da auch, wenn die datensätze ungeordnet sind in beiden Tabellen?
Ja
Zitat:
BZW kann ich dies auch als while schleife einbinden?
Markus Kinzler
  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 23:24 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