دسته بندی ها
00:35 1401/05/07
خطای Value returned null هنگام ثبت مقادیر خالی در دیتابیس
با سلام و احترام
دربانک اطلاعاتی یک جدول به نام Msg_Contacts وجود دارد که یک فیلدی هم با نام آدرس گذاشته شده است و نال پذیر هم هست.
وقتی در برنامه سی شارپ میخواهیم مقدار آدرس را پر نکنم بعد از ثبت اطلاعات خطای فوق را داده و از برنامه خارج میشود میخواهم فیلد آدرس را خالی بگذارم و اطلاعاتی برای این فیلد وارد نکنم و سیستم هم خطا ندهد و عملیات ثبت را انجام دهد.
ممنون میشم بنده را راهنمایی بفرماییید پیشاپیش از لطف شما متشکرم .
کدهای سی شارپ :
Msg_Contacts Msg_C = new Msg_Contacts();
Msg_C.address = dgvContact.CurrentRow.Cells[7].Value.ToString();
خطایی که دریافت میکنم:
System.NullReferenceException: 'Object reference not set to an instance of an object.'
System.Windows.Forms.DataGridViewCell.Value.get returned null.
ویرایش شده در جمعه 7 مرداد 1401 ساعت 14:42:32
مشخصات سوال کننده :
کاربر : Radman
امتیاز کاربر : 169
رتبه کاربر : 9
به این سوال امتیاز بدهید
0
تعداد بازدید این سوال : 2498
پاسخ دهنده : saedbfd
14:47 1401/05/07
دقت کنید که اگر خطای شما در خط زیر رخ میده :
Msg_C.address = dgvContact.CurrentRow.Cells[7].Value.ToString();
چند نکته رو باید توجه کنید.
- اول اینکه دقت کنید که در DataGridView ستون با اندیس 7 وجود داشته باشه. برای شمارش اندیس ستونها در DataGridView از 0 باید شروع کنید. ضمنا ستونهای مخفی هم باید شمارش بشن.
- نکته بعدی اینکه بهتره فیلد address در Sql Server رو به صورت varchar(max) تعریف کنید. (تفاوت نوع داده ای varchar و nvarchar در Sql Server چیست ؟)
- در آخر هم بهتره برای ستونهایی که احتمال میدید نمیخاید هیچ مقداری رو در اونها ذخیره کنید کد رو به صورت زیر بنویسید :
Msg_C.address = dgvContact.CurrentRow.Cells[7].Value.ToString() + "";
همونطوری که ملاحظه می کنید در انتها "" گذاشتیم. که این باعث میشه مقادیر به string تبدیل بشن.
موارد بالا رو چک کنید اگر خطایی بود بفرمایید.
1 نظر
Radman :
ممنون از راهنمایی تون مشکلم برطرف شد .خیلی ممنون از سایت عالی پرس نت.
امتیاز کاربر : 169
رتبه کاربر : 9
تاریخ ثبت : 03:10 1401/05/07
آخرین سوالات ثبت شده
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- نمایش صفحه در پنجره جدید با کلیک روی لینک (تگ a) در Asp
- افزودن مقادیر به صورت دستی به List دریافت شده از ریپازیتوری
سوالات مرتبط
- مشکل تاریخ شمسی در سی شارپ
- نمایش گزارش stimulsoft روی کلاینت
- حذف کامل یک رکورد در جدول ریلیشن شده
- تفاوت های سی شارپ 8 با نسخه های قبلی چیه؟
- انتخاب چند سطر دلخواه توسط چک باکس در DataGrid و محاسبه جمع سطرهای انتخاب شده
- مقایسه ساختار دو دیتابیس در Sql Server
- اشکال در ایجاد کلید خارجی در Sql Server
- نمایش نوتیفکیشن در سی شارپ
- ارسال پارامتر از سی شارپ به استیمول سافت
- عدم نمایش عکس در دیتاگرید ویو در wpf
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.
 
ورود