Autor Beitrag
Pott
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 21

Windows
Delphi 5
BeitragVerfasst: Do 18.03.04 11:52 
Wie kann ich in der TDatabase Komponente
den Benutzername und Kennwort variabel zuweisen?

Die beiden Strings muessen also in .Params, dem ValueEditor, eingetragen werden.
Die Params-Eigenschaft bleibt aber immer leer und liefert dann natuerlich einen Fehler bei einem Datenbankzugriff.

(Bei einem haendischen Eintrag in Params funktioniert der Datenbankzugriff.)

Hat das schon mal jemand gemacht?

Peter


Dieses Beispiel funktioniert nicht und ist nur zum Verstaendnis.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
  //--- Datenbank ---
  dbDATABASE.AliasName:=        LOGIN_ALIASNAME;
  dbDATABASE.DatabaseName:= LOGIN_DATABASENAME;

  DbParams:= TStringList.Create;
  try
    DbParams.Clear;
    DbParams.Add('User name = '+ LOGIN_USERNAME);
    DbParams.Add('Password  = '+ LOGIN_PASSWORD);
    dbDATABASE.Params:=DbParams;
  finally
     DbParams.Free;
  end;
CenBells
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1547

Win 7
Delphi XE5 Pro
BeitragVerfasst: Do 18.03.04 12:03 
Hallo und herzlich :welcome: im DF.

Also, zu deinem Problem.
Du benötgst keine extra stringlist anzulegen. Vor allem darfst du die nicht freigeben, wenn du zugewiesen hast.
Mach es doch so.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
//--- Datenbank --- 
  dbDATABASE.AliasName:= LOGIN_ALIASNAME; 
  dbDATABASE.DatabaseName:= LOGIN_DATABASENAME; 

  dbDATABASE.Params.Add('User name = '+ LOGIN_USERNAME); 
  dbDATABASE.Params.Add('Password = '+ LOGIN_PASSWORD);


Gruß
Ken

_________________
Eine Klasse beschreibt die Struktur und das Verhalten einer Menge gleichartiger Objekte.
Udontknow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: Do 18.03.04 12:12 
Hallo!

Besser ist es, die Parameter so zu setzen:

ausblenden Delphi-Quelltext
1:
2:
DB.Params.Values['Password']:=Username;
DB.Params.Values['User_Name']:=Password;


Wenn bereits zur Entwurfszeit die Parameter vorhanden sind (oder du häufiger die Params wechseln musst), werden sie einfach überschrieben, fügst du sie aber per "Add" hinzu, hast du mehrfach den Parameter User_Name in den Params, es werden dann immer die ersten (zur Entwurfszeit angegebenen) Parameterwerte genommen.

Cu,
Udontknow
Pott Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 21

Windows
Delphi 5
BeitragVerfasst: Do 18.03.04 16:39 
Titel: Loesung
Vielen Dank


Db.Params.Values['User Name']:= LOGIN_USERNAME;
Db.Params.Values['Password']:= LOGIN_PASSWORD;

funktioniert.