PDA

View Full Version : اجازه پر نکردن تکست باکس مربوط به فيلد not null



bftarane
سه شنبه 27 فروردین 1392, 21:46 عصر
سلام.

ببينيد يه فيلد در ديتابيس دارم به اسم
docAttachTotal از نوع smallint و not null
و وقتي تکست باکس مربوطه رو خالي مي زارم موقع درج با خطاهاي زير مواجه ميشم
Conversion from string "" to type 'Integer' is not valid.
..................
Input string was not in a correct format.


مسئله اينه که در متد insert که در لايه dataaccess نوشته شده مقدار 0 به طور پيش فرض داده شده به اين فيلد به صورت زير

Public Function Insert(Optional ByVal docAttachTotal As Integer = 0, _

حالا من اون متد رو اين شکلي فراخواني مي کنم در کد بيهايند يوزرکنترلم


objDoc.Insert(txtdocAttachTotal.Value)
حالا مسئله اينه که چطور اين خطا رو هندل کنم
خودم به نظرم رسيده 2 تا if بزارم بگم


if textbox empty
insert(0)
else insert(txtdocAttachTotal.Value)
که به نظرم بايد راه بهتري باشه
لطفاً راهنمايي کنيد

davood-ahmadi
چهارشنبه 28 فروردین 1392, 08:40 صبح
شما باید برای داده های وارد شده ، اعتبار سنجی انجام بدید که این مشکل پیش نیاد و تا خطایی پیش نیاد و بتونید مدیریت خطا داشته باشید که در صورت بروز اشتباه در اطلاعات وارده ، خطای مربوطه را به کاربر نمایش دهد.
می تونید این موضوع را در رخداد دکمه ثبت و یا در کد بیهایند قبل از ثبت انجام بدید.
در حال حاضر شما می تونید با یه شرط این خطا رو رفع کنید:
If IsNumeric(txtdocAttachTotal.Value) Then objDoc.Insert(txtdocAttachTotal.Value) Else objDoc.Insert(0)