13-10-2019, 11:03 AM
الصفحات : 1 2
19-10-2019, 09:58 AM
يتم ربط zupdatesql مباشرة مع الجدول أو الكيري وهو يقوم بتوليد كود سكيال المناسب من إضافة وتحديث أو حذف
لتطبيق الكود لا تحتاج إلى شئ كل ما عليك هو الترميز المعتاد لكل إجراء على الجدول أو الكيري اي تكفي ztable1.post أو ztable1.edit ....الخ وهو يستدعي كود الإستعلام المناسب
لتطبيق الكود لا تحتاج إلى شئ كل ما عليك هو الترميز المعتاد لكل إجراء على الجدول أو الكيري اي تكفي ztable1.post أو ztable1.edit ....الخ وهو يستدعي كود الإستعلام المناسب
21-10-2019, 09:53 AM
(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 ;ممكن معرفة أينا يكمن الخطأ أو النقص الموجود في الكود البرمجي
وشكرا
24-10-2019, 09:32 AM
(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 تعني حذف وهذا خطأ اخر
انصحك بمراجعة ما سبق من دروس وامثلة بالمنتدى والاطلاع على بعص الكتب...
25-10-2019, 11:57 PM
لن ينجح معك الأمر بتلك الطريقة هناك خطاء فادح في الكود انت تعمل إضافة ثم حذف يعني +1 -1 لن يتغير شئ في قاعدة المعطيات لأنك تحذف السجل الذي تدرجه في الحين
ZQuery1.UpdateObject.Params.ParamByName('OLD_CODE1').AsInteger :=1;
ZQuery1.Open; لا اعرف هذا سطر ماء يفعل هنا لان عند إعادة فتح الجدول ينتقل المؤشر إلى السجل الاول مما يلغي عملية البحث
ZQuery1.Append; احذف هذا السطر من الكود
ZQuery1.Delete ;
ZQuery1.Close; وهذا❗❗
ZQuery1.Open ; وهذا ❗❗
ZQuery1.UpdateObject.Params.ParamByName('OLD_CODE1').AsInteger :=1;
ZQuery1.Open; لا اعرف هذا سطر ماء يفعل هنا لان عند إعادة فتح الجدول ينتقل المؤشر إلى السجل الاول مما يلغي عملية البحث
ZQuery1.Append; احذف هذا السطر من الكود
ZQuery1.Delete ;
ZQuery1.Close; وهذا❗❗
ZQuery1.Open ; وهذا ❗❗
27-10-2019, 06:49 PM
السلام عليكم
عندما تكون ZUpdateSQL مربوطة مع الكويري لن يعمل معك اي شيئ من حذف وتعديل الا بواسطة ZUpdateSQL
للحذف او التعديل استعم SQL مع ZUpdateSQL
إقتباس :ونجح الأمر و لكن بالنسبة لعملية التغيير والحذف لم ينجح الأمر فمثلا هذا الكود الخاص بعملية الحذف لم يعمل
عندما تكون ZUpdateSQL مربوطة مع الكويري لن يعمل معك اي شيئ من حذف وتعديل الا بواسطة ZUpdateSQL
للحذف او التعديل استعم SQL مع ZUpdateSQL
28-10-2019, 02:28 PM
السلام عليكم
أشكر الجميع على كل التوضيحات
أخي Delphi17 بالنسبة للكود الذي قمت بتصحيحه لقد عمل ولكن الغريب في الأمر أنه يقوم بحذف التسجلية التي فيها المؤشر ولا يراعي قيمة Parameter المرسلة إليه فمثلا عندما يكون قيمة Parameter المرسلة هي 1 و عند التنفيد فإنه لا يحذف التسجيلة التي يحتوي حقلها على قيمة 1 و إنما يتم حذف التسجيلة التي فيها المؤشر رغم أن قيمة حقلها يختلف عن قيمة Parameter المرسلة للجملى SQL الموجودة في ZUpdateSQL1.DeleteSQL.Text;
وشكرا وبارك الله فيكم جميعا
أشكر الجميع على كل التوضيحات
أخي Delphi17 بالنسبة للكود الذي قمت بتصحيحه لقد عمل ولكن الغريب في الأمر أنه يقوم بحذف التسجلية التي فيها المؤشر ولا يراعي قيمة Parameter المرسلة إليه فمثلا عندما يكون قيمة Parameter المرسلة هي 1 و عند التنفيد فإنه لا يحذف التسجيلة التي يحتوي حقلها على قيمة 1 و إنما يتم حذف التسجيلة التي فيها المؤشر رغم أن قيمة حقلها يختلف عن قيمة Parameter المرسلة للجملى SQL الموجودة في ZUpdateSQL1.DeleteSQL.Text;
وشكرا وبارك الله فيكم جميعا
01-11-2019, 04:26 PM
عليك كتابة كود الحذف المستعمل لكي اعرف اين الخطاء أو كود التغيير
03-11-2019, 05:25 PM
(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_CODE106-11-2019, 10:02 PM
اكيد عندك مشكل في ParamByName انت لا تستعمله بالطريقة الصحيحة
جرب هذا الكود من غير ParamByName
ZQuery1.sql := ' select * tt
Where code1 = ' + edit1.text
جرب هذا الكود من غير ParamByName
ZQuery1.sql := ' select * tt
Where code1 = ' + edit1.text
الصفحات : 1 2