ADOConnection Ayarlarını ini dosyasına kaydetmek ve okumak

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
emrekilinc1984
Üye
Mesajlar: 58
Kayıt: 15 Eyl 2016 12:13

ADOConnection Ayarlarını ini dosyasına kaydetmek ve okumak

Mesaj gönderen emrekilinc1984 »

Merhaba Arkadaşlar ben adoConnection baglanti bilgilerini bir ini ye kaydedip oradan okuyup adoconnection stringe yazdırmak istiyorum kendim örnek bir proje yaptım rica etsem projeme bir göz atıp yardımcı olurmusunuz.

Kod: Tümünü seç

unit uAyarlar;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, IniFiles, Vcl.StdCtrls, Vcl.Buttons, uMain;

type
  TformAyarlar = class(TForm)
    eKullaniciAdi: TEdit;
    eParola: TEdit;
    eSunucuAdi: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    bKaydet: TBitBtn;
    bOku: TBitBtn;
    cbVeritabani: TComboBox;
    bBaglantiTest: TBitBtn;
    procedure bKaydetClick(Sender: TObject);
    procedure bOkuClick(Sender: TObject);
    procedure bBaglantiTestClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  formAyarlar: TformAyarlar;

implementation

{$R *.dfm}

procedure TformAyarlar.bKaydetClick(Sender: TObject);
Var
INIDosya : TIniFile;

 Begin
   INIDosya := TIniFile.Create('C:\SenkoSoft\senkosoft.ini');
   INIDosya.WriteString('Veritabani_Ayarlari','KullaniciAdi',eKullaniciAdi.Text);
   INIDosya.WriteString('Veritabani_Ayarlari','Parola',eParola.Text);
   INIDosya.WriteString('Veritabani_Ayarlari','Veritabani',cbVeritabani.Text);
   INIDosya.WriteString('Veritabani_Ayarlari','SunucuAdi',eSunucuAdi.Text);
   INIDosya.Free;
end;

procedure TformAyarlar.bOkuClick(Sender: TObject);
Var
GDKullaniciAdi,GDParola,GDVeritabani,GDSunucuAdi : String;
INIDosya      : TIniFile;

 Begin
   INIDosya        := TIniFile.Create('C:\SenkoSoft\senkosoft.ini');
   GDKullaniciAdi  := INIDosya.ReadString('Veritabani_Ayarlari','KullaniciAdi','');
   GDParola        := INIDosya.ReadString('Veritabani_Ayarlari','Parola','');
   GDVeritabani    := INIDosya.ReadString('Veritabani_Ayarlari','Veritabani','');
   GDSunucuAdi     := INIDosya.ReadString('Veritabani_Ayarlari','SunucuAdi','') ;
   INIDosya.Free;
   eKullaniciAdi.Text:=GDKullaniciAdi;
     eParola.Text:=GDParola;
       cbVeritabani.Text:=GDVeritabani;
          eSunucuAdi.Text:=GDSunucuAdi;
end;

procedure TformAyarlar.FormActivate(Sender: TObject);
begin

  bOkuClick(nil);

end;

procedure TformAyarlar.bBaglantiTestClick(Sender: TObject);
var
mesaj:integer;
begin

     umain.Form1.Conn.Connected := true;
  if umain.Form1.Conn.Connected=true then
    mesaj:=Application.MessageBox('Bağlantı Başarılı.','Senko Soft Bilgi',mb_OK+MB_ICONINFORMATION)
  else
    mesaj:=Application.MessageBox('Bağlantı Başarısız Oldu.','Senko Soft Uyarı',mb_OK+MB_ICONWARNING);

end;

end.
Dosya ekleri
VeritbaniAyarlari.rar
(69.1 KiB) 60 kere indirildi
m_yaprakci

Re: ADOConnection Ayarlarını ini dosyasına kaydetmek ve okumak

Mesaj gönderen m_yaprakci »

Ben bu şekilde kullanıyorum yıllardır. Hiç Sorun vermedi şimdiye kadar çok şükür.
DBConn.udl dosyasında direkt ConnectionString var.

Kod: Tümünü seç

Provider=SQLOLEDB.1;Password=123321;Persist Security Info=True;User ID=sa;Initial Catalog=DataBase;Data Source=192.168.1.100

KAYDETME:

Kod: Tümünü seç

var 
connstr:string;
con:TStringList;
begin
ConnStr:='Provider=SQLOLEDB.1;Password='+edit3.Text+';Persist Security Info=True;User ID='+edit2.Text+';Initial Catalog='+edit4.Text+';Data Source='+edit1.Text;

    con:=TStringList.Create;
    con.Text:=connstr;
    con.SaveToFile(ExtractFilePath(paramstr(0))+'Config\DBConn.udl');
end;

OKUMA ve BAĞLANMA:

Kod: Tümünü seç

var
ConnStr:TStringList;
begin

if FileExists(ExtractFilePath(ParamStr(0))+'Config\DBConn.udl') then
begin
  
   try
     ConnStr:=TStringList.Create;
     ConnStr.LoadFromFile(ExtractFilePath(ParamStr(0))+'Config\DBConn.udl');
     con1.ConnectionString:=ConnStr.Text;
     con1.Connected:=true;
     connstr.Free;

     for i:=0 to ComponentCount-1 do
         begin
           if ((Components[i] is TADOQuery) and (Components[i].Name<>'qryJoker') and (Components[i].Tag<>99)) then (Components[i] as TADOQuery).Open;
           if (Components[i] is TADOTable) then (Components[i] as TADOTable).Open;
         end;
   except
     on E : Exception do
     begin
      ShowMessage('Veri Tabanı Bağlantısı Başarısız'+#13#10+'Hata Sınıfı : '+E.ClassName +#13#10+ 'Hata Açıklaması : '+ E.Message); Halt;
     end;
    end;
end //fileexist
  else
  begin
   showmessage('Veri Tabanı Bağlantı Dosyasının Varlığını Kontrol Edin!');
   Halt;
  end;
end;
emrekilinc1984
Üye
Mesajlar: 58
Kayıt: 15 Eyl 2016 12:13

Re: ADOConnection Ayarlarını ini dosyasına kaydetmek ve okumak

Mesaj gönderen emrekilinc1984 »

herkese teşekkürler konu çözülmüştür.
Cevapla