Yorumları: 39
Konuları: 9
Kayıt Tarihi: 29-09-2018
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 50
Başlangıç
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.
Yorumları: 670
Konuları: 73
Kayıt Tarihi: 20-12-2018
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 1.544
Programcı
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.
Yorumları: 483
Konuları: 80
Kayıt Tarihi: 28-12-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 2.019
Programcı
16-08-2020, Saat: 10:49
(Son Düzenleme: 16-08-2020, Saat: 10:53, Düzenleyen: cinarbil.)
(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)
Yorumları: 39
Konuları: 9
Kayıt Tarihi: 29-09-2018
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 50
Başlangıç
Affınıza sığınarak yardımlarınızı bekliyorum.
Yorumları: 483
Konuları: 80
Kayıt Tarihi: 28-12-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 2.019
Programcı
17-08-2020, Saat: 18:30
(Son Düzenleme: 17-08-2020, Saat: 18:39, Düzenleyen: cinarbil.)
(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)
Yorumları: 39
Konuları: 9
Kayıt Tarihi: 29-09-2018
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 50
Başlangıç
17-08-2020, Saat: 18:35
(Son Düzenleme: 17-08-2020, Saat: 18:51, Düzenleyen: bnyamin86.)
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