Bu sonucu RecordCound ile alabiliz ama fdarkılı işlemlerde farklı veriler geliyor Hem daha sağlıklı ve ayrı bir işlem gerektirmiyor.
Saygılarımla
Teşekkür Ederim.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
Delphi ile gelen SQL Monitör ile veritabanınıza giden SQL cümlelerini takip edebilirsiniz. Ben birkaç kez denemiştim. Ama sizin durumunuzda işe yarar mı bilmiyorum.
Ayrıca SQL Serverın Query Analyzerı da gelen, işletilen cümleleri yakalar gibi geliyor bana ama denemek lazım.
Bu daha ziyade kullandığınız componentler ile ilgili (tabi ki ne yapmak istediğinizle de).
Örneğin dbExpress'in TSQLQuery componenti ile ExecSQL komutunu çalıştırdığınızda bizzat kendisi yaptığı işlem sonucunda kaç kaydı etkilediğini belirtiyor. Yani:
SQLQuery1.SQL.Text := 'DELETE FROM MYTABLE';
ShowMessage(IntToStr(SQLQuery1.ExecSQL));
Merhaba;
@Mussimsek Hocam SQL Monitör daha önce kullanmadığım için deneme şansım olmadı hafta sonu bunu denicem teşekkür ederim.
@Hakancan Hocam AdoQuery kullanıyorum bu componentin böyle bir özelliği varmı acaba.
Sizin belirtiğiniz ExecSQL komutu ile zaten update veya insert işlemlerinde kullanılıyor fakat kaç sonuç döndüğünü bu şekilde nasıl alabilriiz pek anlayamadım. Bu komutu kullandıktan sonra dönen bahsi geçen sonuç kümesini hangi komut ile alacağız.
Saygılarımla.
Teşekkür Ederim
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
Merhaba ,
Rxlib içinde , DBProgress nesnesi BDE nin mesajlarını yakalıyor ben MySQL için denedim sorun yaşamadım.
Basitçe kullanımı ,
rxDBAwere sekmesinden DBProgress i ekleyin SessionName özelliğine Default atayın, Trace özelliğini TRUE yapın, bilmek isteiğiniz olayları TraceFlags bölümünden TRUE ile aktifleştirin,olanları bir memo içinde görmek için DBProgress in OnTrace olayına
TADOQuery.ExecSQL helpine bakarsanız orada:
"ExecSQL returns an integer value reflecting the number of rows affected by the executed SQL statement" diye yazıyor. ExecSQL orada da function ve Integer değer döndürüyor.
Verdiğim önceki örnek "ShowMessage(IntToStr(SQLQuery1.ExecSQL));" aslında aynı şeyi anlatıyordu.
@HakanCan senin yazdıkların doğruymuş hocam ama ben uygulamada yanlışlık yapıyormuşum ben normal execsql cümlesinin altına sizin yazdığınız uygulayınca hata almıştım halbuki sizinde belirtiğiniz gibi bu komut hem integer bir değer dönderiyor hemde işlemi yapıyor.
Var
EtkilenenKayitSay:string;
begin
DepoUpdateQuery.Close;
DepoUpdateQuery.SQL.Clear;
DepoUpdateQuery.SQL.Add(DepoInsertMemo.Lines.Text);
EtkilenenKayitSay:=IntToStr(DepoUpdateQuery.ExecSQL); Burada hem işlemi gerçekleştiriyor hemde işlem yapılan kayıt sayısını almış oluyoruz.
ShowMessage(EtkilenenKayitSay);//
Yardımlarınız için çok teşekkür ederim.
Sağlıcakla kalın.
iyi akşamalar.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________