02-11-20, 11:07 PM
(آخر تعديل لهذه المشاركة : 02-11-20, 11:08 PM {2} بواسطة sofiane-phy.)
(02-11-20, 04:55 PM)Anas Mahmoud كتب : https://stackoverflow.com/a/5591482
باختصار الخطأ هو انك تحاول وضع قيمة نصية اكبر من الذي يسمح به نوع العمود في قاعدة البيانات
راجع قاعدة البيانات قد تكون معرف الاعمدة بنوع Nvarchar(50) مثلا اجعلها Nvarchar(MAX) هذا النوع مرن مع النصوص اي كان طولها
ايضا لاحظت انك تستخدم الطريقة الخطأ في تمرير المعلومات الى الاستعلام
كود :
Where VoucherCode=N'" & (VoucherCode.Text) & "'"
هذا مثال واضح للنقطة ضعف ال SqlInjection ، لابد من استخدام البرامترات رابجع موضوعي :
http://vb4arb.com/vb/showthread.php?tid=36486
ايضا لاحظت انك تستخدم Val في حساب قيم مالية وهو خطأ لاكثر من سبب اهمهم انه يعود بقيمة Double بينما يجب ان تكون معاملاتك المالية كلها ب Decimal ، وايضا خطأ لانه لا يعطيك اي دلالة اذا ما كان النص المدخل سليم ام لا
بدلا منها استخدم Decimal.TryParse :
http://vb4arb.com/vb/showthread.php?tid=36426
تم حل المشكل اصبت أخي Anas Mahmoud كان الخطأ في القيمة النصية جزاكم الله خيرا اخوتي اسامه الهرماوي ، Master Hacker ، عبد العزيز البسكري ، Anas Mahmoud
------------------------
منكم أتعلم
------------------------