AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

3 Schichtversuch

Ein Thema von Cyberdine · begonnen am 26. Mär 2013 · letzter Beitrag vom 30. Mär 2013
 
Cyberdine

Registriert seit: 21. Mai 2012
26 Beiträge
 
#1

3 Schichtversuch

  Alt 26. Mär 2013, 09:53
Hallo,
zuzeit befasse ich mit 3 Schichtarchitektur unter Delphi und bin da auf folgendes Problem gestoßen. Beim instanzieren des Mittleren und des untern DB(ADO)-Objekts kommt eine Fehlermeldung die besagt, dass ich Parameter bräuchte bei .Create obwohl ich garkeinen Konstruktor und somit keine Parameter implementiert habe.
Hier der Quelltext dazu

Delphi-Quellcode:

type
  TForm1 = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    ADOQuery: TADOQuery;
    EditVVertragsNr: TEdit;
    LabelVVertragsNr: TLabel;
    LabelVEFDatum: TLabel;
    DTPVEFDatum: TDateTimePicker;
    ButtonVSuchen: TButton;
    procedure FormShow(Sender: TObject);
    procedure ButtonVSuchenClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

type
  TVertrag = class(TForm1)
  private
    { Private-Deklarationen }
    iVertragsID : integer;
    sVertragsNummer : string;
    dErfasstAm : TDate;
  public
    { Public-Deklarationen }
    procedure SetVertragsNummer(VNr : string);
    procedure SetErfasstAm(EfDate : TDate);
    function GetVertragsNummer : string;
    function GetErfasstAm : TDate;
  end;

type TDBVertrag = class(TVertrag)
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
    function Suchen(qry : TADOQuery) : boolean; Overload;
end;

var
  Form1: TForm1;
  Vertrag : TVertrag;
  DBVertrag : TDBVertrag;

implementation

{$R *.dfm}

{ TVertrag }

// Vertragsdatum für die GUI-Schicht auslesen
function TVertrag.GetErfasstAm: TDate;
begin
  GetErfasstAm := dErfasstAm;
end;

// Vertragsnummer für die GUI-Schicht auslesen
function TVertrag.GetVertragsNummer: string;
begin
  GetVertragsNummer := sVertragsNummer;
end;

// Vertragsdatum in der Mittelschicht eintragen
procedure TVertrag.SetErfasstAm(EfDate: TDate);
begin
  dErfasstAm := EfDate;
end;

// Vertragsnummer in der Mittelschicht eintragen
procedure TVertrag.SetVertragsNummer(VNr: string);
begin
  sVertragsNummer := VNr;
end;

{ TDBVertrag }

// ADO - Vertrag suchen
function TDBVertrag.Suchen(qry: TADOQuery): boolean;
var
  statement : string;
  bcheck : boolean;
begin
  bcheck := true;
  with qry do
  begin
    Close;
    SQL.Clear;
    statement := 'select * from VERTRAG order by ERFASSTAM asc';
    SQL.Text := statement;
  end;
  qry.ExecSQL;
  DMAdo.ADOConnection.BeginTrans;
  DMAdo.ADOConnection.CommitTrans;
  qry.Open;
  exit(true);
end;

// Button Vertrag suchen
procedure TForm1.ButtonVSuchenClick(Sender: TObject);
var
  stmp : string;
begin
  stmp := '';
  if (DBVertrag.Suchen(ADOQuery = true)) then
  begin
    stmp := ADOQuery.FieldByName('VERTRAGSNR').Value;
    Vertrag.SetVertragsNummer(stmp);
    EditVVertragsNr.Text := Vertrag.GetVertragsNummer;
  end;

end;

// Hauptformular laden
procedure TForm1.FormShow(Sender: TObject);
var
  bError : boolean;
  sVerbindungsString : string;
begin
  DMAdo := sVerbindungsString;
  try
    if(DMAdo.ADOConnection.Connected) then
      Exit;

    DMAdo.ADOConnection.Open;
  except // Benutzername oder Passwort nicht korrekt
    bError := False;
  end;
  ADOQuery.Connection := DMAdo.ADOConnection;

  Vertrag := TVertrag.Create();
  DBVertrag := TDBVertrag.Create();
end;

end.
  Mit Zitat antworten Zitat
 

 

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 07:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz