PDA

View Full Version : علت خطای Error converting data type nvarchar to int



شهاب سلطانی
چهارشنبه 25 آذر 1394, 00:28 صبح
سلام
دوستان کدی که زیر میذارم چه ایرادی داره که دایم داره ارور تبدیل nvarchar یه int رو میگیره(Error converting data type nvarchar to int.)
دیونم کرده



SqlCommand
cmd1 = newSqlCommand("UpdataTblItem10", con);


cmd1.CommandType =
CommandType.StoredProcedure;


cmd1.Parameters.AddWithValue(
"@IDItem",comboBox1.ValueMember);


cmd1.Parameters.AddWithValue(
"@mblgh", textBox2.Text);


con.Open();


cmd1.ExecuteNonQuery();


con.Close();

ژیار رحیمی
چهارشنبه 25 آذر 1394, 01:10 صبح
سلام نوع (type)پارامترهای ارسالی از SqlCommand باید با نوع(type) فیلد در جدول دیتابیس یکسان باشد اگر IDItem از نوع Int هست شما هم باید نوع پارامتر ارسالی از نوع Int باشه.


cmd1.Parameters.AddWithValue(
"@IDItem",Convert.ToInt32(comboBox1.ValueMember));


cmd1.Parameters.AddWithValue(
"@mblgh", Convert.ToInt32(textBox2.Text));

شهاب سلطانی
چهارشنبه 25 آذر 1394, 17:09 عصر
سلام و ممنون از جوابتون
دوست عزیز کاری که گفتید کردم ولی فایده نداشت
از همه خطها میگذره و وقتی به cmd1.ExecuteNonQuery();
میرسه این ایراد رو میگیره(Error converting data type nvarchar to int.)

ebrahim.rayatparvar
چهارشنبه 25 آذر 1394, 17:27 عصر
پارامتر ها رو به این شکل بگیر ببن کارت راه می افته :


cmd.Parameters.Add("@IDItem", SqlDbType.Int).Value = Convert.ToInt32(textBox2.Text);

شهاب سلطانی
چهارشنبه 25 آذر 1394, 18:10 عصر
سلام
نه متاسفانه
این ارور رو میده حالا

Syntax error converting the varchar value '@IDItem' to a column of data type int.

ژیار رحیمی
چهارشنبه 25 آذر 1394, 18:49 عصر
دوست گرامی مشکل از نوع comboBox1.ValueMember هست که به ValueMember انتصاب دادی (ValueMember در تبدیل نوع مشکل داره)مشکل از کدهای ارسالی از طریق SqlCammand نیست دوستان راهنمایی های لازم رو کردن.شما اگر مشکلت حل نشد جدول دیتابیس رو باضافه کد نحوه پر کردن ComboBox را بزارید تا بررسی شود تا مشکل از کجاست

Mahmoud.Afrad
یک شنبه 29 آذر 1394, 00:47 صبح
اگر value انتخابی مربوط به آیتم کمبوباکس رو میخواهید باید از SelectedValue استفاده کنید. (Valuemember برای چیز دیگه ای استفاده میشه)