Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Prism Datasource und die Eigenschaft Dataset (https://www.delphipraxis.net/120390-datasource-und-die-eigenschaft-dataset.html)

fly_singapore 10. Sep 2008 12:00

Datenbank: MS-SQL-Server • Version: 2000 • Zugriff über: über ADO

Datasource und die Eigenschaft Dataset
 
Hallo Allerseits,


leider habe ich folgendes Problem. Ich habe in einer selbstdefinierten Funktion ein Typ Dataset als Rückgabewert definiert. Ist diese Funktion erfolgreich ausgeführt worden, wird also ein Dataset zurückgegeben. Dies funktioniert auch sehr schön..

Möchte ich aber dieses Dataset der Eigenschaft <datasource1.dataset> zuweisen, also etwa so:

Delphi-Quellcode:

// in einer Funktion wird ein Dataset erzeugt. Eingabewert ist ein SQL-String

oDataset := open_query('SELECT * FROM tbl_mig');

// nun soll der erzeugte Dataset einem Datasource-Objekt zugeordnet werden. Auf diesem Datasource-Objekt soll im spätenen Verlauf
// Datensteuerungs-Controls wie DBEdit oder DBGrid zugreifen können
 
  datasource1.dataset := oDataset;

Leider meldet Delphi einen Fehler, da TDataset und Dataset inkompatibel sind.. Mangels hinreichender Lösungskompetenz meinerseits, bitte ich um Hilfe. Es wäre toll, wenn jemand eine Lösung hätte :-)

Peter aus Köln

mkinzler 10. Sep 2008 12:02

Re: Datasource und die Eigenschaft Dataset
 
Was für ein Typ hat oDataSet?

fly_singapore 10. Sep 2008 12:20

Re: Datasource und die Eigenschaft Dataset
 
Dieser hat den Typ DataSet (aus Unit Systems.data)



Delphi-Quellcode:

var
 
  oDataset: DataSet;

mkinzler 10. Sep 2008 12:25

Re: Datasource und die Eigenschaft Dataset
 
Setze mal den vollen Namespace im Typ.

fly_singapore 10. Sep 2008 12:38

Re: Datasource und die Eigenschaft Dataset
 
Ich bin ein wenig Begriffsstutzig ..

namespace in der Variablendeklaration oder in der Zuweisung:


var
oDS: xxxx.DataSet;


oder

datasource1.dataset := xxx.oDataset;



oder wie meinst du das ...

:gruebel:

guidok 10. Sep 2008 12:40

Re: Datasource und die Eigenschaft Dataset
 
Die Fehlermeldung ist doch eindeutig oder?

TDataset und Dataset inkompatibel


var oDataset: TDataset;

Die Klasse TDataset ist in der Unit DB deklariert.

fly_singapore 10. Sep 2008 13:02

Re: Datasource und die Eigenschaft Dataset
 
OK. Das habe verstanden. Also


1. Die Unit <db> noch unter <USES> eingebunden


2. Variabel deklariert:

var
oDataSet : TDataSet;

3. leeres Dataset erzeugen


ods := TDataSet.Create();

hier meldet der Compiler, es wären so wenig Parameter..


na, jedenfalls scheint noch ein Argument zu fehlen. vielleicht die Form als solches???

mkinzler 10. Sep 2008 13:05

Re: Datasource und die Eigenschaft Dataset
 
Wie gesagt in .Net besser NameSpace bei der Deklaration angeben!

fly_singapore 10. Sep 2008 13:31

Re: Datasource und die Eigenschaft Dataset
 
Auch wenn ich mich jetzt um Kopf und Kragen rede..

wie ist das noch einmal mit den Namespaces.. ich arbeite da nicht alzu oft mit ..

Wie oben auch erwähnt, müsste es einen Unterschied zwischen ein Dataset und ein TDateset zu bestehen

bei einen Dataset , wie ich in anfangs definiert habe, braucht es keine Parametrisierung

Delphi-Quellcode:
oDataset := DataSet.Create();
bei einen Initialisierung eines <TDatasets>
Delphi-Quellcode:
oDataset := TDataSet.Create(AOwner: component)


jedoch benötigt delphi einen Parameter, wobei mir allerdings nicht klar ist, wobei es sich dabei überhaupt handelt.
In der Delphi-Online-Doku steht was von AOwner: component..

:pale:

guidok 10. Sep 2008 15:11

Re: Datasource und die Eigenschaft Dataset
 
Tschuldigung, hab überlesen, dass es um .net geht. Da kenn ich mich nicht aus.

Bei Delphi für Win32 würde ich in dem Fall z.B. schreiben:

oDataset := TDataSet.Create(self);


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:15 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