PDA

View Full Version : خطای input string was not in a correct format



zahra1372
یک شنبه 29 دی 1392, 13:49 عصر
http://s5.picofile.com/file/8109694276/N.png

mousa1992
یک شنبه 29 دی 1392, 14:39 عصر
exception دریافتی از طرف متد toint32 هست و رشته شما قابل تبدیل به عدد نیست از عکسی که گذاشتین چیزی پیدا نیست اما حدس میزنم که اسم textbox هاتون جابجا شده و txtagentid به یکی از textbox هایی اشاره داره که شما نام و نام خانوادگی رو واردش میکنید
چک کنید بینم چنین اتفاقی نیافتاده

Mousavmousab
یک شنبه 29 دی 1392, 15:49 عصر
مطمئنا شما توی TextBox مربوط به AgentID مقداری وارد می کنید که تبدیل به عدد نیست. دوستمون بالا حدس رستی زده به نظرم.

حالا شما برای اینکه مشکلت حل بشه به جای اینکه بخونی و تبدیل به عدد کنی ، مستقیماٌ یک بار عدد ثابت بزار ببین باز خطا مبده ؟ فکر کنم مشکلت حل بشه
موفق باشی

zahra1372
دوشنبه 30 دی 1392, 16:34 عصر
نه textbox هام جا به جا نیست. درسته
حتی این کدم داره که نشه رشته واردش کرد.

privatevoid txtAgentID_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = !Char.IsDigit(e.KeyChar) && e.KeyChar != (char)8;
}

به گرید اضافه میکنه. مشکلی نیست. فقط وقتی عدد فارسی وارد میکنم این خطا رو میده.
(هر چیزی که لازم باشه توی عکس هست.)

alireza_s_84
دوشنبه 30 دی 1392, 16:56 عصر
نه textbox هام جا به جا نیست. درسته
حتی این کدم داره که نشه رشته واردش کرد.

privatevoid txtAgentID_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = !Char.IsDigit(e.KeyChar) && e.KeyChar != (char)8;
}

به گرید اضافه میکنه. مشکلی نیست. فقط وقتی عدد فارسی وارد میکنم این خطا رو میده.
(هر چیزی که لازم باشه توی عکس هست.)

لطفا Trace کنید ببینید نتیجه ی تبدیل تابع چیه؟ برای اینکار توی خط قبلش یک بریک پوینت بذارید و بعد که برنامه متوقف شد کل عبارت Convert.ToInt32(txtAgentID.text) رو Select کنید و روی اون کلیک راست و Quick Watch رو انتخاب کنید.
مقدار Id رو گزارش کنید.

zahra1372
دوشنبه 30 دی 1392, 17:15 عصر
لطفا Trace کنید ببینید نتیجه ی تبدیل تابع چیه؟ برای اینکار توی خط قبلش یک بریک پوینت بذارید و بعد که برنامه متوقف شد کل عبارت Convert.ToInt32(txtAgentID.text) رو Select کنید و روی اون کلیک راست و Quick Watch رو انتخاب کنید.
مقدار Id رو گزارش کنید.

http://s5.picofile.com/file/8109887800/wa.png

alireza_s_84
دوشنبه 30 دی 1392, 17:18 عصر
http://s5.picofile.com/file/8109887800/wa.png
خب دقیقا به محتوای Textbox ایراد گرفته ، ببینید محتوای TextBox چیه؟

zahra1372
دوشنبه 30 دی 1392, 17:27 عصر
خب دقیقا به محتوای Textbox ایراد گرفته ، ببینید محتوای TextBox چیه؟

خب گفتم که. فقط وقتی عدد فارسی وارد میکنم ارور میده
پست 4 رو بخونین.

alireza_s_84
دوشنبه 30 دی 1392, 17:34 عصر
خب گفتم که. فقط وقتی عدد فارسی وارد میکنم ارور میده
پست 4 رو بخونین.
دوست عزیز اگر کد خاصی برای تبدیل نمایش عدد ندارید فرقی بین اعداد فارسی و انگلیسی وجود نداره ولی شما وقت Trace موس رو روی AgentId.Text نگه دارین ببینید مقداری که برمیگردونه چنده؟

zahra1372
دوشنبه 30 دی 1392, 17:42 عصر
دوست عزیز اگر کد خاصی برای تبدیل نمایش عدد ندارید فرقی بین اعداد فارسی و انگلیسی وجود نداره ولی شما وقت Trace موس رو روی AgentId.Text نگه دارین ببینید مقداری که برمیگردونه چنده؟

وقتی مثلا 1 وارد میکنم مشکلی نیست
ولی وقتی ۱ رو وارد میکنم خطا میدهههههههههه
ماوس رو میبرم روش هم مقدار 1 یا ۱ رو نشون میده.
کد خاصی هم برای تبدیل اعداد ندارممممممم.

alireza_s_84
دوشنبه 30 دی 1392, 17:46 عصر
وقتی مثلا 1 وارد میکنم مشکلی نیست
ولی وقتی ۱ رو وارد میکنم خطا میدهههههههههه
ماوس رو میبرم روش هم مقدار 1 یا ۱ رو نشون میده.
کد خاصی هم برای تبدیل اعداد ندارممممممم.
خب طبیعیه که نمیتونه اعداد فارسی رو تبدیل کنه ولی نکته ی مبهم اینه که شما وقتی از هیچ کدی استفاده نکردی چطور بین اعداد تفاوت میذاره

یک کلک مرغابی میتونید بزنید با تبدیل کدهای اسکی اعداد هر عددی وارد میشه اون رو به لاتین تبدیل کنید.

zahra1372
دوشنبه 30 دی 1392, 17:57 عصر
خب طبیعیه که نمیتونه اعداد فارسی رو تبدیل کنه ولی نکته ی مبهم اینه که شما وقتی از هیچ کدی استفاده نکردی چطور بین اعداد تفاوت میذاره

خب اگه میدونستم که تاپیک نمیزدم.:عصبانی++: