PDA

View Full Version : خطای {"Input string was not in a correct format."}



mortezasar
سه شنبه 29 اسفند 1391, 13:04 عصر
سلام من از این کد واسه ذخیره اطلاعات استفاده می کنم اما خطا میده و مشکلش هم اینه که باید هر دوتا چک باکس 30 و 45 چک بشن تا خطا نده و اگر یکی چک بشه و دیگری چک نشه این خطا رو میده ولی اگه هر دوتا چک بشن این مشکل پیش نمیاد و در دیتا بیسم هم تیک خالی بودن رو زدم
تشکر
عیدتون هم مبارک


SqlConnection conn = new SqlConnection("Data Source=(local);Initial Catalog=SHNASNAME_FARHANGI_TEST;Integrated Security=True");
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
string sql =
" Insert Table_basij (nosanad,rostaname,bas_name,bas_datetasis,bas_totm etr,bas_ehdakon,bas_sazan,bas_kha,bas_khano,bas_ba r,bas_barno,bas_farmandehmen,bas_farmandehmentel,b as_farmandehwomen,bas_farmandehwomentel,bas_vazban a,bas_vazbana1,bas_taminprice,bas_emkanat_sottasvi r,bas_emkanat_farsh,bas_emkanat_book,bas_emkanat_n obook,bas_emkanat_compi,bas_emkanat_service,bas_em kanat_tel,bas_emkanat_notel,bas_emkanat_sysgarma,b as_emkanat_mazhabbook,bas_emkanat_other,bas_emkana t_syssarma,bas_emkanat_jabekomak,bas_othercomm)";
sql += "values ({0} , '{1}', '{2}' , {3} , {4} , '{5}' , '{6}' , '{7}' , {8} , '{9}' , {10} , '{11}' , {12} , '{13}' , {14} , '{15}' , '{16}' , '{17}' , '{18}' , '{19}' , '{20}' , '{21}' , '{22}' , '{23}' , '{24}' , '{25}', '{26}', '{27}' , '{28}' , '{29}', '{30}', '{31}' ) ";
sql = string.Format(sql,
long.Parse(txtpsanad.Text),
txtprosta.Text,
txtname.Text,
txttasis.Text,
long.Parse(txtmetr.Text),
txtehda.Text,
txtsazand.Text,
checkBox45.Checked,
txtnokha.Text,
checkBox30.Checked,
txtnobar.Text,
txtfarmandehm.Text,
long.Parse(txtfarmandehmtel.Text),
txtfarmandehw.Text,
long.Parse(txtfarmandehwtel.Text),
vazbana.Trim(),
vazbana1.Trim(),
txtprice.Text,
checkBox42.Checked,
checkBox41.Checked,
checkBox40.Checked,
txtnobook.Text,
checkBox39.Checked,
checkBox37.Checked,
checkBox36.Checked,
txtnotel.Text,
checkBox38.Checked,
checkBox35.Checked,
txtother.Text,
checkBox33.Checked,
checkBox34.Checked,
txtcom.Text);
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
conn.Close();
MessageBox.Show("اطلاعات با موفقیت ثبت شد ");
frmsave_Load(null, null);

tooraj_azizi_1035
سه شنبه 29 اسفند 1391, 17:44 عصر
فکر می کنم چون چک باکس 3 وضعیت رو به خودش میگیره این خطا رخ میده یعنی وضعیت Intermediate.
اگه از چک باکس خود Visual Studio استفاده می کنی خاصیت IsThreeState رو برابر False کن.

mortezasar
چهارشنبه 30 اسفند 1391, 19:01 عصر
سلام واسه تمام چک باکس هام ای خاصیت false هستش نمیدونم مشکل کجاست گیج شدم اصلا نمیدونم جریان چیه !!!!:متفکر:

mortezasar
چهارشنبه 30 اسفند 1391, 19:12 عصر
میشه یک روش دیگه واسه ذخیره بهم معرفی کنید یک مثال کوچیک بزنید نمیدونم مشکل از کجاست اگه بایک روش دیگه اگه ذخیره کنم شاید درست بشه ممنون

veniz2008
چهارشنبه 30 اسفند 1391, 19:13 عصر
سلام.
به نظر میرسه که بین پارامترها هماهنگی وجو نداره. مثلا {3} رو int در نظر گرفتی ولی معادلش رو txttasis.Text رو در نظر گرفتی (یعنی میخوای یه رشته رو بریزی داخل یه int ) . واسه تمام موارد این مورد رو چک کنید.

mortezasar
پنج شنبه 01 فروردین 1392, 03:09 صبح
سلام چون کد ها رو تغییر دادم این جوری شد و گرنه از int32.Pars استفاده کردم

veniz2008
پنج شنبه 01 فروردین 1392, 03:24 صبح
واسه چک باکس ها هم شما باید 0 یا 1 بفرستی.(بصورت عددی در نظر بگیر یعنی تک کوتیشن ها رو واسه چک باکس ها بردار). که اگه تیک نخورده باشه میشه 0 (false ) و اگه تیک داشت میشه 1 (true ). یعنی اینطوری بنویس :

Convert.ToInt32(checkBox30.Checked)

mortezasar
شنبه 03 فروردین 1392, 18:09 عصر
سلام متاسفانه باز این ارور رو میده

Incorrect syntax near ','.