connect.ini den database bağlantısı

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
dcpromo
Üye
Mesajlar: 38
Kayıt: 12 May 2005 12:27

connect.ini den database bağlantısı

Mesaj gönderen dcpromo »

merhaba arkadaşlar ben mssql veritabanı kullanarak program yazmaya çalışıyorum.Bir sorum olacaktı şimdi connect.ini dosyasından server ismi database ismini nasıl okutabilirim.Exe içinde gömülü olmasını istemiyorum.

Yardımlarınız için şimdiden teşekkür ederim
Nemesis2005
Üye
Mesajlar: 136
Kayıt: 18 Oca 2005 05:24
Konum: İzmir

Mesaj gönderen Nemesis2005 »

En son Nemesis2005 tarafından 06 Haz 2005 02:11 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Her iyinin içinde bir Kötülük.Her Kötnün içide de bir iyilik vardır
Ali Erdoğan
Kıdemli Üye
Mesajlar: 1026
Kayıt: 11 Şub 2005 02:12
Konum: İstanbul

Mesaj gönderen Ali Erdoğan »

Rxlib,Raize,Decexpress gibi bileşen paketlerinde .ini dosyalarına kalayca veri saklamanı ve geri getirmeni sağlayan bileşenler bulunuyor.Bunlardan Rxlib bedava dağıtılıyor.Rxlib deki bileşenin adı FormStorage .

FormStorage bileşenini formunun üzerine koyduktan sonra üzerine çift tıkla ve hangi bileşenlerin hangi özelliklerini saklaması gerektiğini söyle ve aktif özeliğini true yap.

Programına bir ayarlar bölümü koyup burada server bağlantı bilgilerini editlar ile kullanıcıdan istersin.Kullanıcı bu alanları doldurduğu zaman formstorage bileşeni editlerin içeriğini ini dosyasına kaydedecektir.Sonra program açılırken editlerin içerisindeki bilgilere göre bağlantını kurarsın.

Biraz karışık bir anlatım oldu :)
Kullanıcı avatarı
undefined
Moderator
Mesajlar: 565
Kayıt: 06 Eki 2003 12:01
Konum: Bursa
İletişim:

Mesaj gönderen undefined »

önceden ben bir projemde kullanmıştım.

ayarlar.ini :

Kod: Tümünü seç


[CONFIG]
UserId=sa
DatabaseName=hedehodo
DatabaseServer=hedehodoserver

Kod: Tümünü seç

var
  a:Tinifile;
  constr:string;
begin
        a := tinifile.Create(ExtractFilePath(Application.EXEName) + 'ayarlar.ini');
        constr := 'Provider=SQLOLEDB.1;Persist Security Info=False;User ID=' + a.ReadString('CONFIG', 'UserId', '') + ';';
        constr := constr + 'Initial Catalog=' + a.ReadString('CONFIG', 'DatabaseName', '') + ';';
        constr := constr + 'Data Source=' + a.ReadString('CONFIG', 'DatabaseServer', '');
        // ac  formumdaki adoconnection...
        ac.ConnectionString := constr;
        ac.connected := true;
end;

ben passwordu kullanıcıya sordurtuyordum. İstersen sen aynı yöntemle ini dosyasından okutabilirsin passwordu.

Kolay gelsin
dcpromo
Üye
Mesajlar: 38
Kayıt: 12 May 2005 12:27

saol

Mesaj gönderen dcpromo »

kardeş saolasın işlemi yaptım ama :) formda table de nasıl göstereceğim komutlar falan nasıl olcak adoconnectionda bir şeyler yaPMAM gerekmi adotable nasıl edeceğim :(

yardımlarınız bekliyorum
Kullanıcı avatarı
undefined
Moderator
Mesajlar: 565
Kayıt: 06 Eki 2003 12:01
Konum: Bursa
İletişim:

Mesaj gönderen undefined »

Hocam ben bu komutları form oncreate eventine koyuyorum. Sen programının kendi senaryosuna göre hangi aşamada bağlantıyı açmak isitiyorsan oraya yaz bunları. Adotable'larını tek bir Adoconnection'a bağla. Hepsi için ayrı connection string yazma.
mulus
Üye
Mesajlar: 67
Kayıt: 30 May 2005 10:42
Konum: Bursa
İletişim:

Mesaj gönderen mulus »

Ben TStringlist ile hallediyorum..
bir dosyaya şu formatta bilgileri yazıyorum..

Kod: Tümünü seç

  Hostname=localhost
  Database=database
  Port=Port
  ....
  ....
Daha sonra Delphi içinde şu şekilde verileri çekiyorum...

Kod: Tümünü seç

var
config: TStringList;
begin
    if FileExists('database.ini') then begin
      config:= TStringList.Create;
      config.LoadFromFile('database.ini');
      with loginconn do begin
        Hostname:=config.values['Hostname'];
        Database:=config.values['Database'];
        Port:=StrToInt(config.values['Port']);
        Protocol:=config.values['Protocol'];
        User:=config.values['User'];
        Password:=config.values['Password'];
      end;
      config.free;
Bu şekilde benim işimi görüyor.. Kolay gelsin..[/code]
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Re: connect.ini den database bağlantısı

Mesaj gönderen ozcank »

Arkadaşlar bunu seçili hale getiremezmiyiz , yani combobox koyup ordan sql server bulup şifresini girip 2. bir combobox da altına databases leri getirip şirket pasword girip bağlantı olamaz mı?
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: connect.ini den database bağlantısı

Mesaj gönderen SimaWB »

Burada yazdığına göre ADODB.pas içerisindeki PromptDataSource fonksiyonu sayesinde aşağıdaki şekilde SQL Serverların listelendiği bir pencere açılıyor. Tam da senin yapmak istediğin gibi.
Resim

Bu pencereden dönen değeri TAdoConnection'da ConnectionString olarak kullanabilirsin.
Kendi formunu hazırlamak istersen yine aynı sayfada SQL Server'ları listelemeyi de anlatmış.
There's no place like 127.0.0.1
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Re: connect.ini den database bağlantısı

Mesaj gönderen ozcank »

SimaWB aynen dediğin gibi ben bunu kendim kotrol etmek istiyorum Server a zaten bağlanıyorum fakat Table ye bağlanım Kulanıcı adı ve şifresi girip bağlanabilmeliyim.
SIRKETLER30 table var şirketler ve kullanıcı adı şifreside bu table de tutuyorum.
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Re: connect.ini den database bağlantısı

Mesaj gönderen ozcank »

DBComboBox1 forma yerleştirdim
Edit1
Edit2
ve ADOConnection1 de sunucudaki veri tabanını boş geçtim oraya burda seçtiğim veri tabanını aktaracam.
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Re: connect.ini den database bağlantısı

Mesaj gönderen ozcank »

DBComboBox da şirketleri listeleyemedim.
Kullanıcı avatarı
sunye
Üye
Mesajlar: 105
Kayıt: 24 Ağu 2004 04:49
Konum: izmir

Re: connect.ini den database bağlantısı

Mesaj gönderen sunye »

Netsis şirketlerini mi aktarmaya çalışıyorsun? Netsis kullanıcı giriş şifresini şifreleyerek tutar bilgin olsun. Net1'in karşılığı "F>N," dir.

Şirket Listesini almak için.

Kod: Tümünü seç

SELECT SIRKET_KODU FROM TBLSIRKETLER30
ComboBox'a Aktarma

Kod: Tümünü seç

while Not Query1.Eof do begin
    ComboBox1.Items.Add(Query1.FieldByName('SIRKET_KODU').AsString);
    Query1.Next;
end;
Bildiğim tek şey, hiç bir şey bilmediğim.
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Re: connect.ini den database bağlantısı

Mesaj gönderen ozcank »

Merhaba;
Cümleyi bu şekilde yazıyorum ama hiç döngüye girmiyor TPageControl içindede kullanıyorum ama yine şirketler listesini dökemedim combobox a yardımcı olabilirmisiniz?

Kod: Tümünü seç

procedure TForm1.FormCreate(Sender: TObject);
begin
NRap2.Close;
NRap2.sql.Clear;
NRap2.Sql.Add('SELECT SIRKET FROM SIRKETLER30');
while Not NRap2.Eof do begin
SHOWMESSAGE('2');
    ComboBox1.Items.Add(NRap2.FieldByName('SIRKET').AsString);
      NRap2.Open;
NRap2.Next;
end;
end;
Kullanıcı avatarı
sunye
Üye
Mesajlar: 105
Kayıt: 24 Ağu 2004 04:49
Konum: izmir

Re: connect.ini den database bağlantısı

Mesaj gönderen sunye »

Kod: Tümünü seç

NRap2.Open;
satırını while döngüsünden önce yazman gerekli, şu an kontrol edemiyorum.
Bildiğim tek şey, hiç bir şey bilmediğim.
Cevapla