Einzelnen Beitrag anzeigen

Stex

Registriert seit: 12. Nov 2006
8 Beiträge
 
Delphi 7 Professional
 
#5

Re: Komponente in eingebundener Unit verwenden

  Alt 16. Jul 2008, 08:59
Zitat von shmia:
Dann muss die Klasse TUserPermissions eben von Aussen mit geteilt bekommen aus welchem Dataset die Zugriffsrechte auszulesen sind.

[...]

Klasse TUserPermissions:
* bekommt sein Dataset von Aussen mitgeteilt
* weiss nur, wie die Felder heisen und kann damit arbeiten
* hat aber keine Anhnung auf welcher DB und in welcher Tabelle die Daten liegen
Vielen Dank erstmal für eure Antworten!

Die Lösung mit der Klasse ist gut, aber was soll ich ihr als TDataSet übergeben? An sich muss ich es ja nur schaffen, dass die Funktion auf die Query zugreifen kann, die auf meinem Hauptformular liegt, um dann in mit ihr eine Abfrage wie z.B. "SELECT name FROM mitarbeiter WHERE init = 'winlogonname'" auszuführen.
Da ich nicht wusste, was ich als TDataSet übergeben sollte, hab ich es trotzdem mit einer Übergabe der ZQuery versucht, allerdings bekam ich beim Zuweisen von SQL.Text eine Zugriffsverletzung.

Hauptformular:
Delphi-Quellcode:
begin
Users := TUserPermissions.Create;
Users.UserQuery := zquery;
ZConnection1.Connected := true;
Funktion in Unit:
Delphi-Quellcode:
function TUserPermissions.getWorkerNameByLogon(_name: string): string;
var workername: string;
begin
   // SELECT m.name FROM mitarbeiter m WHERE m.init = _name
   UserQuery.SQL.Text := 'SELECT * FROM mitarbeiter';
   UserQuery.Open;
   UserQuery.First;

  while not UserQuery.Eof do
  begin
    workername := UserQuery.FieldValues['name'];
    UserQuery.Next;
  end; // while

  UserQuery.Close;

  result := workername;

end;
Entschuldigt bitte, ich habe vorher was Datenbanken betrifft nur php+mysql kennengelernt, mit Delphi habe ich das noch nie gemacht.
  Mit Zitat antworten Zitat