Autor Beitrag
BennyM
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45



BeitragVerfasst: Mo 06.10.03 10:58 
Hallo,
ich hab ein kleines Problem ich habe ein Programm geschrieben bei dem ich den AliasName den User und das Passwort eingeben lassen dann mach ich einen connect mit der Database Komponente funktioniert soweit auch. Anschließend möchte ich über eine Session Komponente alle Tabellen in eine Combobox laden das funktioniert ansich auch nur muss ich dann nochmal den user und das passwort eingeben. Kann ich der Session komponete nicht den user das passwort der database komponente übergeben?
thomasoop
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 29


D5 + D6 Enterprise
BeitragVerfasst: Di 23.11.04 08:43 
genau das problem habe ich nun auch

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
  Database1.Connected := true;
  s := TStringlist.Create;
  Database1.Session.AddPassword('hallo'); <- war nur n test, funzt aber nicht
  Database1.Session.GetTableNames('DATENBANK','',False,False,s);
  for i := 0 to s.Count -1 do
    ShowMessage(s.Strings[i]);
  s.Free;
  Database1.Connected := false;


er fragt immer nach username/passwort

weiss einer des rätsels lösung?

gruss

Thomas(OOP)

Moderiert von user profile iconUGrohne: Code- durch Delphi-Tags ersetzt.
Udontknow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: Di 23.11.04 08:53 
Ähm... Habe schon lange nicht mehr mit der BDE gearbeitet, und Sessions habe ich auch so gut wie nie verwendet, aber es ist nicht zufällig "Database.LoginPrompt:=False" die Lösung? Username und Passwort habe ich immer bei Database.Params hinterlegt.

Cu,
Udontknow
thomasoop
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 29


D5 + D6 Enterprise
BeitragVerfasst: Di 23.11.04 08:56 
ne das war es ja gerade nicht

aber ich habs
du darfst als ersten parameter nicht den ODBC Alias angeben sondern den wert der Property DatabaseName der TDatabase Komponennte

edit:
sonst öffnet er eine weitere verbindung zur Datenbank ....
MAlsleben
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 303

W2k,WinXP
D3 - DXE3 Enterprise
BeitragVerfasst: Di 23.11.04 10:09 
Hi,

Sinn und Zweck von TSession ist es ja eine weitere Verbindung aufzubauen . Wenn Du das nicht machst, dann brauchst Du auch nicht extra TSession zu nehmen, sondern gehts dann nur über die eine Standartsession in TDatabase.

Gruß Micha.

_________________
Viele Wege führen nach Rom.
thomasoop
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 29


D5 + D6 Enterprise
BeitragVerfasst: Mi 24.11.04 09:58 
MAlsleben hat folgendes geschrieben:
Hi,

Sinn und Zweck von TSession ist es ja eine weitere Verbindung aufzubauen . Wenn Du das nicht machst, dann brauchst Du auch nicht extra TSession zu nehmen, sondern gehts dann nur über die eine Standartsession in TDatabase.

Gruß Micha.


das habe ich doch die ganze zeit gemacht (siehe meinen ersten Post ... Database1.Session. )
BennyM Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45



BeitragVerfasst: Mo 24.01.05 12:55 
danke es hat funktioniert

einfach

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure TFHaupt.Tabellen_holen;
var i          : integer;
    TableNames : TStringList;
begin
   EdTabelle.Items.Clear;
   TableNames := TStringList.Create;
   Database1.Session.GetTableNames(Database1.DatabaseName, '', False, False, TableNames);
   for i := 0 to TableNames.Count - 1 do begin
      EdTabelle.Items.Add(TableNames[i]);
   end;
end;


Danke sehr !

Moderiert von user profile iconraziel: Code- durch Delphi-Tags ersetzt.