Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Veritabanı Dosyasındaki Dataları Listeleme
#1
Arkadaşlar iyi akşamlar programda kullandığım yıllara göre oluşturulmuş veritabanları var ve bu veritabanları data adlı klasöre kayıt ediliiyor. Yardım etmenizi istediğim konu ise programa giriş formuna veri tabanı seçim butonu koydum bu butona tıkladığımda dbgridde bu veritabanlarının listelenmesini istiyorum ben istediğim veritabanına bağlanmak için çift tıkalyıp seçim yaparak bu veritabanına nasıl bağlanabilirim. Yardımlarınız için şimdiden teşekkür ediyorum.
Cevapla
#2
Selamlara
Öncelikle kullanmış olduğunuz veritabanları nedir. Klasörlerde nasıl bir yapıya sahiptir. Bunları bir anlatın. Akabinde, ilk önereceğim çözüm, başka bir tablo yaparak bu databaselerin yolunu buraya tanımlamak ve çağırmak. MYSQl ya da MSSQL tarzı bir veritabanı ise bu yollar izlenebilir.
Yazılımcı, kahveyi koda çeviren bir organizmadır.
Cevapla
#3
(15-08-2020, Saat: 22:19)bnyamin86 Adlı Kullanıcıdan Alıntı: Arkadaşlar iyi akşamlar programda kullandığım yıllara göre oluşturulmuş veritabanları var ve bu veritabanları data adlı klasöre kayıt ediliiyor. Yardım etmenizi istediğim konu ise programa giriş formuna veri tabanı seçim butonu koydum bu butona tıkladığımda dbgridde bu veritabanlarının listelenmesini istiyorum ben istediğim veritabanına bağlanmak için çift tıkalyıp seçim yaparak bu veritabanına nasıl bağlanabilirim. Yardımlarınız için şimdiden teşekkür ediyorum.

@wiseman nın dediği gibi sql olduğunu varsayarak

forma 
adoquery, adoconnection,combobox  koy  database  bağla

procedure TForm1.FormCreate(Sender: TObject);
begin
sorgu_firmalar.sql.Add('select * from master.dbo.sysdatabases');   // bu sorgu ile tüm databases listesini al.
// sorgu_firmalar.sql..Add('SELECT name FROM sys.databases WHERE name NOT IN (''master'',''model'',''msdb'',''tempdb'')'); // bununla sistem dosyaları hariç liste alır

while not sorgu_firmalar.Eof do
   begin
     // sql de çalışma yılı varmı ona bakıyor
     cbx_firmalar.Items.Add(sorgu_firmalar.FieldByName('FILENAME').AsString); // firmaları combobox ekle
   end;
sorgu_firmalar.Close; // sorguyu kapat

end;

daha sonra cbx_firmalr onchange, onclick veya  cbx_firmalar.itemindex v.s gibi olaylar ile istediğin firmayı kullan
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
Cevapla
#4
(16-08-2020, Saat: 00:06)wiseman Adlı Kullanıcıdan Alıntı: Selamlara
Öncelikle kullanmış olduğunuz veritabanları nedir. Klasörlerde nasıl bir yapıya sahiptir. Bunları bir anlatın. Akabinde, ilk önereceğim çözüm, başka bir tablo yaparak bu databaselerin yolunu buraya tanımlamak ve çağırmak. MYSQl ya da MSSQL tarzı bir veritabanı ise bu yollar izlenebilir.

Çok özür diliyorum eksik bilgi verdiğim için kullandığım veritabanı firebird veritabanı dosyaları programın kurulu olduğu dizinde data klasörü içinde fdb uzantılı dosyalara halinde duruyor.yapmak istediğim konusunda aşağıda fotoğraf paylaştım. yardımlarınız için teşekkür ediyorum.

Resimlerde görüldüğü gibi veritabanı yazan yere üç noktaya tıkladığımda veritabanlarının listesi geliyor ben istediğim veritabanına çift tıkladığımda ilgili alana ekleniyor ve bağlantısı otomatik yapılıyor.

           
Cevapla
#5
Affınıza sığınarak yardımlarınızı bekliyorum.
Cevapla
#6
(17-08-2020, Saat: 18:09)bnyamin86 Adlı Kullanıcıdan Alıntı: Affınıza sığınarak yardımlarınızı bekliyorum.


procedure TForm2.Button1Click(Sender: TObject);

var
sr:TSearchRec;
begin
cCombobox1.Clear;
FindFirst('C:\Cinar\Sundoor\data\*.*',faAnyFile,sr); //C:\Cinar\Sundoor\data  dosyaların durduğu dizin  fbd firebird uzantısı sendeki farklı ise değiştir

repeat
 if (sr.Name<>'.') and (sr.Name<>'..') then
   combobox1.items.Add(ExtractFileName (sr.Name)); // combobox dosya adını ekle
until FindNext(sr)<>0;

FindClose(sr);
end;

yukarıdaki kodlar dizindeki firebird database isimlerini combobox alır 
sende onclick olayında database bağlanırsın ezbere yazdım deneyemedim ama genel fikir verir

Test edildi. Tamam
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
Cevapla
#7
Cevabınız için teşekkür ediyorum sayın ÇınarBil deneyip sonucu size bildireceğim.

Evet şimdi oldu yardımınız için teşekkür edyorum sayın Çinarbil Hocam
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  server programinda hani veritabani dogru olur. sadikacar60 4 306 30-01-2024, Saat: 21:06
Son Yorum: sadikacar60
  COZULDU veritabani prg yerine ne kullanabilirim. sadikacar60 8 694 29-01-2024, Saat: 18:41
Son Yorum: sadikacar60
  SQL VeriTabanı Kopyalama Hk. glagher 4 575 10-09-2023, Saat: 14:18
Son Yorum: glagher
  Veritabanı FireDAC, Zeos, UniDAC kıyaslaması nguzeller 0 331 08-07-2023, Saat: 00:28
Son Yorum: nguzeller
  Sadece Son Kayıtları Listeleme gonulali 4 798 09-05-2023, Saat: 17:01
Son Yorum: gonulali



Konuyu Okuyanlar: 1 Ziyaretçi