المشاركات : 111
المواضيع 30
:
: 11
الإنتساب : Apr 2014
26-03-2016, 11:08 PM

السلام عليكم
في SQL server عملت تريڨر فيه شرط إذا تحقق 'print 'passed و أريد إضهار تلك الكلمة passed في showmessage في دالفي وشكرا لكم
المشاركات : 138
المواضيع 1
:
: 4
الإنتساب : Feb 2016
29-03-2016, 08:45 PM
(آخر تعديل لهذه المشاركة: 29-03-2016, 08:58 PM بواسطة PLANSHARP.)
يمكن فعل ذلك عن طريق حدث infomessage لعنصر الـ adoconnection:
كمايلي:
كود :
procedure TForm1.ADOConnection1InfoMessage
(Connection: TADOConnection; const Error: Error; var EventStatus: TEventStatus);
begin
Memo1.Lines.Add(Error.Description);
end;
وإذا كان هناك أكثر من رسالة يمكن تعديل الكود السابق:
كود :
procedure TForm1.ADOConnection1InfoMessage
(Connection: TADOConnection; const Error: Error; var EventStatus: TEventStatus);
var i:integer;
begin
//Memo1.Lines.Add(Error.Description);
for i := 0 to AdoConnection1.Errors.Count - 1 do
begin
Memo1.Lines.Add(ADOConnection1.Errors.Item[i].Description);
end;
end;
وفقكم الله...
المشاركات : 111
المواضيع 30
:
: 11
الإنتساب : Apr 2014
المشاركات : 111
المواضيع 30
:
: 11
الإنتساب : Apr 2014
أخي لكن هذا هوا الخطء 'The transaction ended in the trigger. The batch has been aborted.' الذي يخرج في دالفي وليسا الذي كتبته في SQL SERVER في PRINT
المشاركات : 138
المواضيع 1
:
: 4
الإنتساب : Feb 2016
قم بتنفيذ التريغر الخاص بك داخل Sql server و تأكد من أنه يعمل بشكل جيد ويخرج الرسالة الخاصة بك, لأنه لا علاقة لدلفي بهذه الرسالة.
و أيضاً تأكد من ضبط الخاصية CursorLocation للعنصر AdoConnection إلى clUseServer.
مع مراعاة إستخدام العنصر AdoCommand لتنفيذ إستعلامات التحديث و الحذف على الجداول, لأنها هي من تقدح الحدث infomessage.