Autor Beitrag
Peter18
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 489
Erhaltene Danke: 2


Delphi4
BeitragVerfasst: Mo 24.03.14 20:04 
Ein freundliches Hallo an alle,

bin heute etwas vernagelt. Da sind sooo viele Bäume, dass ich den Wald nicht sehe.

Ich möchte per DAO Daten von einer Datenbank holen. Leider klappt die Verbindung nicht. Irgend eine Kleinigkeit fehlt noch, aber welche? Ich suche in den Objekten herum und finde immer weniger. So hatte ich mal die Auflistung der Tabellen gefunden, doch ich finde sie nicht wieder. Mit grafischen Objekten habe ich die Datenbank schon geöffnet, doch jetzt wollte ich das in ein Programm gießen ... Banane. Hoffe jemand hat 'nen Tipp, damit ich die Sache am laufenden Objekt studieren kann.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
Procedure GetDAO_DB( var Dsd : T_DatSrc );
var
  Ds   : TDataSource;   
  Db   : TDatabase;     
  Sd   : TDataSet;
  Dt   : TTable;
  Sl   : TStrings;
  R, C : Integer;

begin
  Sl                  := TStringlist.Create;
  Ds                  := TDataSource.Create( nil );
  Db                  := TDatabase.Create  ( nil );
  Dt                  := TTable.Create     ( nil );
  Sd                  := TDataSet.Create   ( nil );
  Ds.Name             := 'DataSource';
  Db.Name             := 'Database';
  Ds.DataSet          := Dt;
  Dt.DatabaseName     := 'Database';
  Db.DriverName       := '';
  Db.Params.CommaText := 'TYPE=STANDARD,ENABLED BCD=FALSE,' +                         // Aus Dsd
                         'PATH=C:\Programme\Gemeinsame Dateien\Borland Shared\Data';
  Db.LoginPrompt      := false;
  Db.SessionName      := 'Default';
  Db.DatabaseName     := 'Biolife';
  Dt.TableName        := 'Biolife.db';      // Aus Dsd
  Ds.Enabled          := true;
  Db.Connected        := true;
  Db.Open;
  Ds.DataSet.Active;


Das ist der erste Versuch. "Ds.DataSet.Active;" bleibt "false". Warscheinlich brauche ich einige Objekte nicht. Das wollte ich dann probieren. Im nächsten Schritt sollen die Feldnamen geholt werden. Ich möchte nach Möglichkeit ohne Alias auskommen.

Grüße von der bisher sonnigen Nordsee

Peter
Nersgatt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1581
Erhaltene Danke: 279


Delphi 10 Seattle Prof.
BeitragVerfasst: Mo 24.03.14 20:33 
DataSet.Active ist ein Property. Es muss also Ds.DataSet.Active := True heißen.
Ob der Rest so passt, weiß ich leider nicht. Das letzte Mal, dass ich mit DAO zu tun hatte, war im letzten Jahrtausend.

_________________
Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
Peter18 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 489
Erhaltene Danke: 2


Delphi4
BeitragVerfasst: Di 25.03.14 12:07 
Hallo Nersgatt,

danke für Deine Antwort. Gestern standen wirklich zu viele Bäune im Weg rum. Property war eigentlich klar, aber irgendwann peilt man nichts mehr. Es waren noch andere Fehler drin (Commatext + Alias) aber nun sehe ich die Daten.

Freundliche Grüße von der wieder sonnigen Nordsee

Peter