Avatar billede diz Nybegynder
14. oktober 2002 - 14:29 Der er 11 kommentarer og
1 løsning

dbExpress

Hej

Er der nogen der ved hvordan man benytter sig af funktionen TSQLConnection.LoadParamsFromIniFile()?

Jeg har lavet en inifil, som ser således ud :

Drivername=MySQL
Hostname=localhost
Database=db
.....
...

Den finder filen godt nok, men den indlæser bare ikke værdierne. Er der nogen der ved om den ini fil skal se ud på en bestemt måde??
Avatar billede morten_s Nybegynder
14. oktober 2002 - 14:34 #1
Connection.Params.Values['Database'] := 'MinDB';
Avatar billede dkn Nybegynder
14. oktober 2002 - 14:35 #2
har du husket at du ikke må sætte  LoadParamsOnConnect til true?
Avatar billede diz Nybegynder
14. oktober 2002 - 14:36 #3
ja, men den skal jo hente værdierne fra en inifile (derfor LoadParamsFromIneFile()!). Det er hvordan ini filen skal se ud
Avatar billede morten_s Nybegynder
14. oktober 2002 - 14:37 #4
Min start op ser ud som du ser herunder, jeg har en settingsform som heder dlgSettings hvor jeg læser værdierne over i fra DB'en først


try
      iniFil := TIniFile.Create(ExtractFilePath(Application.ExeName) + '\Falco.ini');
      with iniFil, dlgSettings do
      begin
        leDBName.Text := ReadString('DATABASE', 'Name', 'MinDB' );
        leDBHost.Text := ReadString('DATABASE', 'Host', 'localhost');
        seDBPort.Value := ReadInteger('DATABASE', 'Port', 3306);
        leUserName.Text := ReadString('DATABASE', 'User', '');
        lePassword.Text := ReadString('DATABASE', 'Pass', '');
        seRemotePort.Value := ReadInteger('REMOTE CON', 'Port', 800);
        rgLanguage.ItemIndex := ReadInteger('LANGUAGE' ,'Language', 0);
      end;
      iniFil.Free;
      if dlgSettings.rgLanguage.ItemIndex = 1 then
        dlgSettings.LoadLanguage;
    except
      ShowMessage(ErrSettings);
    end;
    try
      with DM.SQLConMinDB, dlgSettings do
      begin
        Params.Values['Database'] := leDBName.Text;
        Params.Values['HostName'] := leDBHost.Text;
        //Port := seDBPort.Value;
        Params.Values['Password'] := lePassword.Text;
        Params.Values['User_Name'] := leUserName.Text;
        Connected := true;
      end;
    except
      on E:Exception do
      begin
        ShowMessage(DBErr2+#13+'System error: '+E.Message);
        //frmFalcoData.Close;
      end;
    end;
    if DM.SQLConMinDB.Connected then
    try
Avatar billede dkn Nybegynder
14. oktober 2002 - 14:37 #5
søg efter dbxconnections.ini og ret i den
Avatar billede dkn Nybegynder
14. oktober 2002 - 14:38 #6
jeg mener tag et kopi og brug
LoadParamsFromIneFile('.\dbxconnections_kopi.ini');
Avatar billede morten_s Nybegynder
14. oktober 2002 - 14:40 #7
Params.Values['Database'] := ReadString('DATABASE', 'Name', 'MinDB' )
Avatar billede diz Nybegynder
14. oktober 2002 - 14:40 #8
dkn --> Ja og den finder også filen, men den læser bare ikke værdierne fra filen, så dvs at selvom der i min inifil står :

Hostname=localhost

så tager den ikke denne værdi. Så spørgsmålet er faktisk om den ini fil skal se ud på en bestemt måde. Med [sections] osv. Har forsøgt delphi hjælpen, men der står intet brugbart i dette tilfælde
Avatar billede dkn Nybegynder
14. oktober 2002 - 14:43 #9
prøv med
[DATABASE]
Name=DinDB
Host=Localhost
Port=3306
User=
Pass=
Avatar billede diz Nybegynder
14. oktober 2002 - 14:51 #10
Super ,dkn, du har lige reddet min dag. Det var bare den der [MySQLConnection] der skulle til. :)
Avatar billede morten_s Nybegynder
14. oktober 2002 - 14:51 #11
Hvis du bruger dkn's forslag til inifil bliver din syntaks

DinSQLConnection.Params.Values['Database'] := ReadString('DATABASE', 'Name', 'DitDBDefaultNavn' );
Avatar billede dkn Nybegynder
14. oktober 2002 - 14:53 #12
var så lidt :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester