PDA

View Full Version : ارور Input string was not in a correct format



mjt10063
دوشنبه 22 اردیبهشت 1393, 14:48 عصر
سلام دوستان
توی برنامه یه سری اعداد اعشاری میخوام به پایگاه ارسال کنم
نوع فیلد پایگاه رو گزاشتم float
و وقتی میخوام اطلاعات رو براش بفرستم این پیام میاد شما میدونید دلیلش چیه باتشکر
کد:

scm.Parameters.AddWithValue("@saat_sh_sh_s", float.Parse(saatsh_sh_s.SelectedItem.Text));

اینم کد استور پروسیجر

@saat_sh_sh_s float,
Insert into Etelaat_Keshti (sh_keshti , tarikh , shift , shift_v , norm12 , saat_sh_sh_s , saat_sh_kh_s , jamkol_sh_s , status) values
(@sh_keshti , @tarikh , @shift , @shift_v , @norm12 , @saat_sh_sh_s , @saat_sh_kh_s , @jamkol_sh_s , @status);

meisam12
دوشنبه 22 اردیبهشت 1393, 14:54 عصر
beak point بذار این خط saatsh_sh_s.SelectedItem.Text و ببین چه مقداری دارد؟

mjt10063
دوشنبه 22 اردیبهشت 1393, 15:32 عصر
مقدارش اعشاری جدول رو به decimal هم تغییر دادم ولی بازم همین پیام رو میده

meisam12
دوشنبه 22 اردیبهشت 1393, 15:42 عصر
شاید مشکل فیلدهایدیگر است که این خطا را میدهد پارامترهای دیگر هم چک کن مثل @tarikh

mjt10063
دوشنبه 22 اردیبهشت 1393, 15:44 عصر
نه من همه فیلدها رو برداشتم و همین فیلد رو فقط ارسال کردم و این پیام ظاهر شد
نمیی دونم دلیلش چیه

meisam12
دوشنبه 22 اردیبهشت 1393, 15:48 عصر
این خطا به خاط این است که می خواهد به float تبدیل کنه و فرمت مناسبی را دریافت نمی کند یعنی کاراکتر غیر از عدد وجود دارد.

meisam12
دوشنبه 22 اردیبهشت 1393, 15:51 عصر
برای اینکه مطمئن شویم که درست دارید پارامتر را ارسال می کنید. در خط

scm.Parameters.AddWithValue("@saat_sh_sh_s", float.Parse(saatsh_sh_s.SelectedItem.Text));

یک متغیر رشته ای تعریف کنید و saatsh_sh_s.SelectedItem.Text را دورن آن بریزید و مشاهده کنید که کاراکتر غیر عددی نداشته باشد.

string test=saatsh_sh_s.SelectedItem.Text;
scm.Parameters.AddWithValue("@saat_sh_sh_s", float.Parse(saatsh_sh_s.SelectedItem.Text));