procedure TForm2.JvXPButton1Click(Sender: TObject);
var
DataDirectory: string;
DBFile: string;
begin
DataDirectory := TPath.Combine(TPath.GetLibraryPath(), 'data');
if not TDirectory.Exists(DataDirectory) then Exit();
if listbox1.ItemIndex = -1 then Exit();
DBFile := TPath.Combine(DataDirectory, listbox1.Items[listbox1.ItemIndex]);
ShowMessage('Seçilen veritabanı:' + sLineBreak + DBFile);
form1.edit5.Text:=listbox1.Items[listbox1.ItemIndex];
form2.Close;
try
fdconnection1.DriverName := 'FB'; //Hangi tür veritabanı istediğimiz belirtiyoruz.
fdconnection1.Params.DriverID:='FB';
fdconnection1.Params.Database := ExtractFilePath(Application.ExeName) + 'DATA/SENKRON-2020.FDB'; //veritabanı yolumuzu belirtiyoruz.
fdconnection1.Params.Add('user_name=SYSDBA');
fdconnection1.Params.Add('password=masterkey');
fdconnection1.Params.Add('lc_ctype=WIN1254');
fdconnection1.Params.Add('sql_role_name=SYSDBA');
fdconnection1.LoginPrompt:=false;
fdconnection1.Connected := True; //Bağlantıyı açıyoruz.
ShowMessage('Veritabanı bağlantısı sağlandı!');
except
ShowMessage('Veritabanı bağlantı hatası!');
end;
end;
Arkadaşlar yıllara göre veri tabanlarım mevcut ara sıra eski veri tabanlarına dönmem gerekiyor yukarıda araştırarak oluşturduğum bir kod var şöyle ki veri tabanı seçimini yapabiliyorum ama iş bağlantıya gelince beceremedim. Veri tabanını seçmek için yazmış olduğum kodla fdconnection daki data kısmını ilişkilendiremedim yardımlarınızı bekliyorum şimdiden teşekkür ediyorum.
- Firebirde en doğru olan, alias kullanmaktır.
- except kullanmışsın iyi güzelde, hata sebebi mesajda yazılır, sen bunu engellediğin için hatanın ne olduğunu görmüyorsun
except
on E: Exception do begin
ShowMessage('Veritabanı bağlantı hatası! >> ' +E.Message);// -->hata neymiş?
end;
end;
ZAGOR TENAY TÜRK'tür... TÜRK kalacak... Zoru başarırım, İmkansız zaman alır FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Sayın freeman35 öncelikle teşekkür ediyorum cevabınız için. Sanırım ben derdimi anlatamadım özür diliyorum.
burada hata mesajı falan almıyorum zaten hatada yok sadece
procedure TForm2.JvXPButton1Click(Sender: TObject);
var
DataDirectory: string;
DBFile: string;
begin
DataDirectory := TPath.Combine(TPath.GetLibraryPath(), 'data');
if not TDirectory.Exists(DataDirectory) then Exit();
if listbox1.ItemIndex = -1 then Exit();
bu kodla istediğim veri tabanını seçebiliyorum.
ben seçimimi yaptığımda veritabanı bağlantı kodunda belirtmek için ekstra parantez içine aldığım bölüm benim veri tabanı seçimime göre değişecek
işte ozaman bağlantı sağlıklı bir şekilde sağlanıyor.
farkındayım elbet bunun elbet pratik bir kodu vardır ama ben acemi olduğum için kodlara çok hakim değilim ancak siz değerli kardeşlerim sayesinde yavaş yavaş ilerliyoruz. eğerki farklı bir yöntem tavsiye edeceğin bir kodun varsa paylaşırsan çok sevinirim.
freeman35 yazdı: ↑30 Eyl 2020 08:32
"/" unix sistemlerde kullanılır, windows "\" kullanır.
Üstadım ezberden yazmıştık... Allah Razı olsun hatamızı hemen düzeltmişsiniz...
Ben onu ilk mesaj da gördüm, senin yazdığında değil ve gördüğüm "hataya" cevap veriyorum, kimin yazdığına ben hiç bakmıyorum. Yazdıklarımı da kişiye değil genele diye yazıyorum.Sonuçta forumdaki cevaplar gugıl aramalarında da çıkıyor ve üye olmaya gerek kalmadan okunabiliyor.
Cümlemizden inşAllah.
ZAGOR TENAY TÜRK'tür... TÜRK kalacak... Zoru başarırım, İmkansız zaman alır FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!