السلام عليكم
ارجو مساعدتي في ال procedure التالي
ALTER PROCEDURE dbo.ACC_SECTION_Update @oldfinancialcode_code int, @newfinancialcode_code int, @oldfinancialcode_NO int, @newfinancialcode_NO int, @financialcode_description nvarchar(250), @ErrFlg int output AS if not exists (SELECT count(*) FROM ACC_SECTION WHERE financialcode_code=@oldfinancialcode_code and financialcode_NO=@oldfinancialcode_NO and financialcode_description=@financialcode_description) begin Update ACC_SECTION set financialcode_code=@newfinancialcode_code, financialcode_NO=@newfinancialcode_NO, financialcode_description=@financialcode_description where financialcode_NO=@oldfinancialcode_NO and financialcode_code=@oldfinancialcode_code set @ErrFlg = 0 end else begin set @ErrFlg = 1 end
ساقوم بشرح ما اريد
كما هو مبين في الصوره المرفقة
عندي datagrid وفوقها 3 textbox
فعند اختيار اي record من ال DG تنتقل هذه القيم الى ال textbox اعلاه
مشكلتي هي فقط عندما اريد ان اعمل تعديل
حيث ان الرقم والرمز هما primary key اي لا يجوز ان يتكررا
و البيان لا يجب ان يتكرر ايضا مع انه ليس primary
الغرض من ال procedure
هو عند اختيار اي record ومن ثم بالضغط على زر تعديل هناك حالتين
الاولى : انه لم يقم بتعديل اي من القيم داخل ال textbox الثلاثة اي بقيت القيم الاصلية كما هي وهنا عند الضغط على زر تعديل يتم التعديل عليها بابقائها كما هي .
الحالة الثانية :
اذا قام المستخدم بالتعديل مثلا على الرقم او الرمز فيجب التاكد من ان هذه القيم لجديده المدخلة غير موجوده في ال DB و من ثم التاكد من ان البيان غير موجود ايضا فاذا تحققت الشروط يقوم بالتعديل اما اذا تكرر الرقم والرمز او البيان فلن يتم التعديل
انا قمت بعمل ال procedure الموضع اعلاه ولكن لم يتم ما اريد فهل من مساعده
حيث ان الرقم هو financialcode_NO
الرمز هو financialcode_code
البيان هو financialcode_description
ولكم جزيل الشكر
