merhaba arkadaşlar,
adoconnection na ini dosyasından nasıl bağlanabilirim?
IB nesnelerini kullandım hep, ado ve mssql e yeni başladım, connection ı bir ini dosyasından almak istiyorum, forumda aradım ama tam anlayabileceğim bir bilgiye ulaşamadım,
yapan arkaşdaşlar yardımcı olursa sevinirim
iyi çalışmalar.
adoconnection bilgisini ini dosyasından okutma
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
adoconnection bilgisini ini dosyasından okutma
"Bilginin Doruğuna Hep Birlikte..."
Re: adoconnection bilgisini ini dosyasından okutma
merhaba
benim ikglobals diye bir unitim var. onun içindede global "constr1" diye string bir değişkenim var.
prokenin kodlarında
******
Application.Initialize;
constr1 :=ReadIni('Settings','constr1','');
Dm.ConSql.ConnectionString:=constr1;
***
diye alıyorum.
Readini benim yazdığım bir kod parçası; onuda ikfileutils.pas diye bir dosyaya kaydettim.
Kodu ise şöyle
benim ikglobals diye bir unitim var. onun içindede global "constr1" diye string bir değişkenim var.
prokenin kodlarında
******
Application.Initialize;
constr1 :=ReadIni('Settings','constr1','');
Dm.ConSql.ConnectionString:=constr1;
***
diye alıyorum.
Readini benim yazdığım bir kod parçası; onuda ikfileutils.pas diye bir dosyaya kaydettim.
Kodu ise şöyle
Kod: Tümünü seç
(****************************************************************************************)
function ReadIni(Section:String;Key:String;Value:String):String;
var
appINI : TIniFile;
begin
if Section='' then Section:='Settings';
appINI := TIniFile.Create(ChangeFileExt(Application.ExeName,'.ini')) ;
try
Result :=appINI.ReadString(Section,Key,'');
Finally
appIni.Free;
end;
end;
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
Re: adoconnection bilgisini ini dosyasından okutma
TADOConnection bileşeninizin BeforeConnect eventına aşağıdakileri yazın.
ayarlarim.ini dosyası içeriği:
Kod: Tümünü seç
procedure TDM.ADOConnection1BeforeConnect(Sender: TObject);
var
IniFile : TIniFile;
DB_DBServerType: String;
DB_AuthType: Integer;
DB_Host: String;
DB_Database: String;
DB_User: String;
DB_Password: String;
begin
if FileExists('ayarlarim.ini') then
begin
IniFile := TIniFile.Create('ayarlarim.ini');
try
DB_DBServerType := IniFile.ReadString('Connection', 'DBServerType', 'MSSQL');
DB_AuthType := StrToIntDef(IniFile.ReadString('Connection', 'AuthType', '1'), 1);
DB_Host := IniFile.ReadString('Connection', 'Host', '(local)');
DB_Database := IniFile.ReadString('Connection', 'Database', UpperCase(AppShortName));
DB_User := IniFile.ReadString('Connection', 'User', 'sa');
DB_Password := IniFile.ReadString('Connection', 'Password', '123456');
ADOConnection1.ConnectionString := AdoConnectString(
CurrentParam.DB_AuthType = 0,
CurrentParam.DB_Host,
CurrentParam.DB_Database,
CurrentParam.DB_User,
CurrentParam.DB_Password
);
finally
IniFile.Free;
end;
end else
begin
// raise Exception.Create('Program klasöründe veritabanı bağlantı ayar dosyası bulunamadı!');
end;
end;
function TDM.AdoConnectString(WinAuth: Boolean;
HostName, DbName, UserName, Password: String): String;
begin
Result := 'Provider=SQLOLEDB;' + 'Initial Catalog=' + DbName + ';';
if HostName <> '' then Result := Result + 'Data Source=' + HostName + ';';
if WinAuth or (UpperCase(Password) = 'WINDOWS') then
begin
Result := Result + 'Integrated Security=SSPI;' +
'Persist Security Info=False;';
end else
begin
Result := Result + 'Persist Security Info=True;';
if UserName <> '' then Result := Result + 'User ID=' + UserName + ';';
if Password <> '' then Result := Result + 'Password=' + Password + ';';
end;
end;
Kod: Tümünü seç
[Connection]
DBServerType=MSSQL
Host=SERVERNAME
AuthType=1
User=sa
Password=12345
Database=DBNAME
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)