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.
Geçmiş Olsun İZMİ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
  ComboBox1 Yan Yana Listeleme OZCANK 11 339 21-11-2020, Saat: 12:00
Son Yorum: OZCANK
  SQLite Veritabanı Güncelleme Frrst 5 277 26-10-2020, Saat: 18:53
Son Yorum: Frrst
  Firebird Veritabanı Oluşturulması MEDCEZİR 4 768 25-07-2020, Saat: 14:17
Son Yorum: ihalilcoban
  Listeleme çoklu ve random ekank 3 768 21-07-2020, Saat: 14:54
Son Yorum: hi_selamlar
  Krityere göre listeleme - çözüldü ekank 3 824 16-07-2020, Saat: 22:05
Son Yorum: ekank



Konuyu Okuyanlar: 1 Ziyaretçi