delphi4arab منتديات دلفي للعرب
سؤال حول ZUpdateSQL - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : متتديات باسكال Pascal (https://delphi4arab.net/forum/forumdisplay.php?fid=7)
+--- قسم : Lazarus - Free Pascal - CrossKylix - Kylix - CrossVCL (https://delphi4arab.net/forum/forumdisplay.php?fid=34)
+--- الموضوع : سؤال حول ZUpdateSQL (/showthread.php?tid=10491)

الصفحات: 1 2


سؤال حول ZUpdateSQL - العيد1403 - 13-10-2019

السلام عليكم

ممكن مثال بسيط حول طريقة إستعمال المكون ZUpdateSQL في لازاروس وكيف تطبيق جمل SQL التي تحتويها

وشكرا وبارك الله فيكم


RE: سؤال حول ZUpdateSQL - delphi17 - 19-10-2019

يتم ربط zupdatesql مباشرة مع الجدول أو الكيري وهو يقوم بتوليد كود سكيال المناسب من إضافة وتحديث أو حذف
لتطبيق الكود لا تحتاج إلى شئ كل ما عليك هو الترميز المعتاد لكل إجراء على الجدول أو الكيري اي تكفي ztable1.post أو ztable1.edit ....الخ وهو يستدعي كود الإستعلام المناسب


RE: سؤال حول ZUpdateSQL - العيد1403 - 21-10-2019

(19-10-2019, 09:58 AM)delphi17 كتب : يتم ربط zupdatesql مباشرة مع  الجدول أو الكيري وهو يقوم بتوليد كود سكيال المناسب  من إضافة وتحديث أو حذف
لتطبيق الكود  لا تحتاج إلى شئ كل ما عليك هو الترميز المعتاد  لكل إجراء على الجدول أو الكيري  اي تكفي ztable1.post  أو  ztable1.edit ....الخ وهو يستدعي كود الإستعلام المناسب

السلام عليكم

بارك الله فيك  أخي
لقد جربت هذا المثال لعميلة الإدراج
كود :
ZQuery1.Open;
ZQuery1.Append;
ZQuery1.FieldByName('CODE1').Value := 7;
ZQuery1.FieldByName('NAME').Value := 'bbbbbb';
ZQuery1.FieldByName('SUMNAME').Value := 'bbbbbbb';
ZQuery1.FieldByName('AGE').Value := 50;

ZQuery1.Post;
ZQuery1.Close;
ZQuery1.Open ;

مع العلم أن محتوى ZUpdateSQL1.InsertSQL.Text ;
كمايلي
كود :
INSERT INTO tt
  (CODE1, NAME, SUMNAME, AGE)
VALUES
  (:CODE1, :NAME, :SUMNAME, :AGE)

ونجح الأمر و لكن بالنسبة لعملية التغيير والحذف لم ينجح الأمر فمثلا هذا الكود الخاص بعملية الحذف لم يعمل
كود :
ZQuery1.UpdateObject.Params.ParamByName('OLD_CODE1').AsInteger :=1;
ZQuery1.Open;
ZQuery1.Append;
ZQuery1.Delete  ;
ZQuery1.Close;
ZQuery1.Open ;

ممكن معرفة أينا يكمن الخطأ أو النقص الموجود في الكود البرمجي
وشكرا


RE: سؤال حول ZUpdateSQL - B.M.AbdelAziZ - 24-10-2019

(21-10-2019, 09:53 AM)العيد1403 كتب :
كود :
ZQuery1.UpdateObject.Params.ParamByName('OLD_CODE1').AsInteger :=1;
ZQuery1.Open;
ZQuery1.Append;
ZQuery1.Delete  ;
ZQuery1.Close;
ZQuery1.Open ;
ممكن معرفة أينا يكمن الخطأ أو النقص الموجود في الكود البرمجي
وشكرا

السلام عليكم
لدبك خطأ منطقي او سوء استعمال الأوامر
.Append تعني تضيف سجل جديد وهذا خطأ لانك تقوم بالتحرير
اصلا الاستعلام inser into يعني اضافة
.Delete تعني حذف وهذا خطأ اخر
انصحك بمراجعة ما سبق من دروس وامثلة بالمنتدى والاطلاع على بعص الكتب...



RE: سؤال حول ZUpdateSQL - delphi17 - 25-10-2019

لن ينجح معك الأمر بتلك الطريقة هناك خطاء فادح في الكود انت تعمل إضافة ثم حذف يعني +1 -1 لن يتغير شئ في قاعدة المعطيات لأنك تحذف السجل الذي تدرجه في الحين

ZQuery1.UpdateObject.Params.ParamByName('OLD_CODE1').AsInteger :=1;
ZQuery1.Open; لا اعرف هذا سطر ماء يفعل هنا لان عند إعادة فتح الجدول ينتقل المؤشر إلى السجل الاول مما يلغي عملية البحث
ZQuery1.Append; احذف هذا السطر من الكود
ZQuery1.Delete ;
ZQuery1.Close; وهذا❗❗
ZQuery1.Open ; وهذا ❗❗


RE: سؤال حول ZUpdateSQL - mobile - 27-10-2019

السلام عليكم



إقتباس :ونجح الأمر و لكن بالنسبة لعملية التغيير والحذف لم ينجح الأمر فمثلا هذا الكود الخاص بعملية الحذف لم يعمل




عندما تكون ZUpdateSQL  مربوطة مع الكويري لن يعمل معك اي شيئ من حذف وتعديل الا بواسطة ZUpdateSQL
 للحذف او التعديل استعم SQL مع ZUpdateSQL


RE: سؤال حول ZUpdateSQL - العيد1403 - 28-10-2019

السلام عليكم
أشكر الجميع على كل  التوضيحات

أخي Delphi17 بالنسبة للكود الذي قمت بتصحيحه لقد عمل ولكن الغريب في الأمر أنه يقوم بحذف التسجلية التي فيها المؤشر ولا يراعي قيمة Parameter المرسلة إليه فمثلا عندما يكون قيمة Parameter المرسلة هي 1 و عند التنفيد فإنه لا يحذف التسجيلة التي يحتوي حقلها على قيمة 1 و إنما يتم حذف التسجيلة التي فيها المؤشر رغم أن قيمة حقلها يختلف عن قيمة Parameter المرسلة للجملى SQL الموجودة في ZUpdateSQL1.DeleteSQL.Text;

وشكرا وبارك الله فيكم جميعا


RE: سؤال حول ZUpdateSQL - delphi17 - 01-11-2019

عليك كتابة كود الحذف المستعمل لكي اعرف اين الخطاء أو كود التغيير


RE: سؤال حول ZUpdateSQL - العيد1403 - 03-11-2019

(01-11-2019, 04:26 PM)delphi17 كتب : عليك كتابة كود الحذف المستعمل لكي اعرف اين الخطاء أو كود التغيير

السلام عليكم
هذا هو الكود
كود :
ZQuery1.UpdateObject.Params.ParamByName('OLD_CODE1').AsInteger :=1;
  ZQuery1.Delete  ;

مع العلم أن جملة SQL  االموجودة في في الخاصية ZUpdateSQL1.DeleteSQL.Text هي كالتالي
كود :
DELETE FROM tt
WHERE
  tt.CODE1 = :OLD_CODE1



RE: سؤال حول ZUpdateSQL - delphi17 - 06-11-2019

اكيد عندك مشكل في ParamByName انت لا تستعمله بالطريقة الصحيحة
جرب هذا الكود من غير ParamByName

ZQuery1.sql := ' select *  tt
Where  code1 = ' + edit1.text