26-05-2025, Saat: 09:50
Merhaba, öğrenciyim ve Delphi dilini yeni öğrenmeye başlıyorum. Veri tabanına bağlanmamı gerektirecek her işlemden önce bağlantıyı kontrol edip eğer bağlı değil ise bağlanmayı deneyen bir fonksiyon yazdım. Uzak sunucuyla bağlantı kurulduğu durumlardaki olası hataları veya bağlantının herhangi bir sebepten koptuğu durumları doğru şekilde kontrol etmek için ekte paylaştığım fonksiyon yeterli olur mu? Kendim SQL servisini durdurup tekrar başlatarak testler yaptım ancak gözümden kaçan bir şeyler illa ki vardır o yüzden bu bağlantı kontrolünden emin olmak için yapmam gerekenleri öğrenmeye çalışıyorum.
-Projede tek bir ADOConnection nesnesi kullanıyorum ve KeepConnection özelliğini true olarak tercih ediyorum.
-Projede tek bir ADOConnection nesnesi kullanıyorum ve KeepConnection özelliğini true olarak tercih ediyorum.
function TForm1.isDatabaseConnected(Conn: TADOConnection): Boolean;
begin
Result := False;
try
// Bağlı değilse bağlanmayı dene
if not Conn.Connected then
begin
try
Conn.Connected := True;
except
on E: Exception do
begin
ShowMessage('Veritabanı bağlantısı kurulamadı: ' + E.Message);
Exit;
end;
end;
end;
// Conn.Connected=true ise test sorgusu çalıştır
try
Conn.Execute('SELECT 1');
Result := True; //test sorgusu çalıştıysa bağlı kabul et
except
on E: Exception do
begin
ShowMessage('Bağlantı başarısız: ' + E.Message);
Conn.Connected :=False; //test sorgusu çalışmadıysa bağlı değil kabul et
Result := False;
end;
end;
except
on E: Exception do
ShowMessage('Bağlantı kontrol hatası: ' + E.Message);
end;
end;


