procedure TfrmAra.btDetayliAraClick(Sender: TObject);
var
eSql:string;
begin
sqlkodu:=setSql;
//showmessage(sqlkodu);
try
begin
eSql:=frmana.aQ1.SQL.ToString;
frmAna.aQ1.Close;
frmana.aQ1.SQL.Clear;
frmAna.aQ1.SQL.Add(sqlkodu);
frmAna.aQ1.Active:=true;
frmAra.Close;
end;
except
begin
frmAna.aQ1.Close;
frmana.aQ1.SQL.Clear;
frmAna.aQ1.SQL.Add(eSql);
frmAna.aQ1.Active:=true;
application.MessageBox('Beklenmeyen bir hata oluştu. Sorgu çalıştırılamadı. Lütfen oluşturduğunuz parametreleri gözden geçirin.','Sorgu çalıştırma hatası', MB_OK);
end;
end;
end;
Kodum bu. Form alanına örneğin tek tırnak yani hatalı sql girince excep bloğu çalışmıyor. Bunun yerine AdoQuery nin göstergiği "İNSERT UPDATE bilmem ne kullanın..." gibi hata çıkıyor. Bu sorunu nasıl çözerim??? Yani hatalı SQL gönderdiğimde except bloğu çalışsın istiyorum.
try except bloğunu iyi incele,
öncelikle try except yada fianlly arası zaten kod boloğudur, bu yüzden "begin end;" bloğuna gerek yok.
aynı şey "except / finally end;" arası içinde geçerlidir.
except içine yazdığın kod belliki hata veriyor. o kısma yazdığına hata kontrolü uygulanmaz, istiyorsan oraya da bir try except bloğu ekliyebilirsin, ki tahminimde hatayı aldığın yer burası.
kolay gele
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 !!!
"İNSERT UPDATE bilmem ne kullanın..." gibi hata çıkıyor.
Sizin vermiş olduğunuz örnekte bu hatanın çıkması gayet dogaldır. Sonuçta bahsettiğiniz hata SQL Kodu içerisindeki syntax hatasıdır.
Kısaca sizin kodlarınızda bir mantık hatası yoktur diye düşünüyorum ve çıkan mesaj dialoguda Querynizin kendine has olan bir dialoğudur ve Sql hatası olduğu için sadece onu gösteriyor delphiye hata olarak dönmüyordur.
"İNSERT UPDATE bilmem ne kullanın..." gibi hata çıkıyor.
Sizin vermiş olduğunuz örnekte bu hatanın çıkması gayet dogaldır. Sonuçta bahsettiğiniz hata SQL Kodu içerisindeki syntax hatasıdır.
Kısaca sizin kodlarınızda bir mantık hatası yoktur diye düşünüyorum ve çıkan mesaj dialoguda Querynizin kendine has olan bir dialoğudur ve Sql hatası olduğu için sadece onu gösteriyor delphiye hata olarak dönmüyordur.