PDA

View Full Version : مبتدی: دلیل این پیغام خطا در هنگام ویرایش



piter11
یک شنبه 12 بهمن 1393, 18:10 عصر
سلا م من کد ویرایش زیرو مینویسیم ارور میده چه دلیلی داره آخه ممنوم مشیم راهنمایی کنید از ID هم ایراد میگیره

کد:
cmd.CommandText = "UPDATE TblRegisterUser SET Name=@Name,LastName=@LastName,ElatMorajee=@ElatMor ajee,Saat=@Saat,Tarikh=@Tarikh,Tozihat=@Tozihat,Ba yaniye=@Bayaniye,aghd=@aghd,aroosi=@aroosi,hanaban dan=@hanabandan,baleboron=@baleboron,patakhti=@pat akhti WHERE id=@id"
cmd.Parameters.Add("@id", SqlDbType.Int).Value = Label1.Text

cmd.Parameters.Add("@Name", SqlDbType.NVarChar, 50).Value = txtname.Text
cmd.Parameters.Add("@LastName", SqlDbType.NVarChar, 50).Value = txtlastname.Text
cmd.Parameters.Add("@ElatMorajee", SqlDbType.NVarChar, 50).Value = txtelatemoraje.Text
cmd.Parameters.Add("@Saat", SqlDbType.NVarChar, 10).Value = txttime.Text
cmd.Parameters.Add("@Tarikh", SqlDbType.NVarChar, 20).Value = HM_FarsiCalendar1.Text
cmd.Parameters.Add("@Tozihat", SqlDbType.NVarChar, 200).Value = txttozihat.Text
cmd.Parameters.Add("@Bayaniye", SqlDbType.Int).Value = txtprice.Text
cmd.Parameters.Add("@aghd", SqlDbType.Bit).Value = CheckBox1.Checked
cmd.Parameters.Add("@aroosi", SqlDbType.Bit).Value = CheckBox2.Checked
cmd.Parameters.Add("@hanabandan", SqlDbType.Bit).Value = CheckBox3.Checked
cmd.Parameters.Add("@baleboron", SqlDbType.Bit).Value = CheckBox4.Checked
cmd.Parameters.Add("@patakhti", SqlDbType.Bit).Value = CheckBox5.Checked

con.Open()
cmd.ExecuteNonQuery()


MessageBox.Show("تغییرات جدید اعمال شد")


con.Close()
Dgv1.Refresh()



ارور:


128095

CsharpNevisi
یک شنبه 12 بهمن 1393, 18:38 عصر
میگه یه جایی id رو دوبار تعریف کردی یا id کلید اصلیه و میخوایی بهش مقدار تکراری بدی ... پیشنهاد من اینه پارامتر ها رو اینطوری تعریف کنی :
cmd.Parameters.AddWhitValue("@id", Label1.Text);

mrprestige
یک شنبه 12 بهمن 1393, 18:42 عصر
سلام وقت بخیر ، دوست عزیز بنظرم متغییر id@ رو توی textbox بنویسی بهتر باشه و به این شکل تبدیلش کنی

cmd.Parameters.Add("@id", SqlDbType.Int).Value =int.parse(textbox1.Text);



اگه مشکل برطرف نشد برنامت رو آپ کن ببینم مشکل از کجاست .

mojtabamalaekeh
یک شنبه 12 بهمن 1393, 19:09 عصر
کدتون داخل حلقه ی تکرار نیست احیاناً؟
اگر توی حلقه نیست آیا همون بار اول که اجرا میشه خطا میده یا بار دوم؟

piter11
یک شنبه 12 بهمن 1393, 21:00 عصر
کدتون داخل حلقه ی تکرار نیست احیاناً؟
اگر توی حلقه نیست آیا همون بار اول که اجرا میشه خطا میده یا بار دوم؟

نه نیست
بار اول اجرا میشه خطا میده

piter11
یک شنبه 12 بهمن 1393, 21:00 عصر
ممنون دوستان ولی تغییراتی رو دادید اعمال کردم تاثیری نداشت

محمد آشتیانی
یک شنبه 12 بهمن 1393, 21:32 عصر
سلام
دوست عزیز فکر میکنم شما cmd رو بصورت پابلیک تعریف کردی و جای دیگه پارامتر Id@ رو تعریف کردی بنابراین این خطا رو میبینی.
اگر اینطوریه cmd رو داخل همین متد تعریف کن ، در غیر اینصورت قسمت بیشتری از کدت رو اینجا بذار تا مشکل پیدا بشه.



موفق باشید.

حسین.کاظمی
دوشنبه 13 بهمن 1393, 08:04 صبح
سلا م من کد ویرایش زیرو مینویسیم ارور میده چه دلیلی داره آخه ممنوم مشیم راهنمایی کنید از ID هم ایراد میگیره

کد:
cmd.CommandText = "UPDATE TblRegisterUser SET Name=@Name,LastName=@LastName,ElatMorajee=@ElatMor ajee,Saat=@Saat,Tarikh=@Tarikh,Tozihat=@Tozihat,Ba yaniye=@Bayaniye,aghd=@aghd,aroosi=@aroosi,hanaban dan=@hanabandan,baleboron=@baleboron,patakhti=@pat akhti WHERE id=@id"
cmd.Parameters.Add("@id", SqlDbType.Int).Value = Label1.Text

cmd.Parameters.Add("@Name", SqlDbType.NVarChar, 50).Value = txtname.Text
cmd.Parameters.Add("@LastName", SqlDbType.NVarChar, 50).Value = txtlastname.Text
cmd.Parameters.Add("@ElatMorajee", SqlDbType.NVarChar, 50).Value = txtelatemoraje.Text
cmd.Parameters.Add("@Saat", SqlDbType.NVarChar, 10).Value = txttime.Text
cmd.Parameters.Add("@Tarikh", SqlDbType.NVarChar, 20).Value = HM_FarsiCalendar1.Text
cmd.Parameters.Add("@Tozihat", SqlDbType.NVarChar, 200).Value = txttozihat.Text
cmd.Parameters.Add("@Bayaniye", SqlDbType.Int).Value = txtprice.Text
cmd.Parameters.Add("@aghd", SqlDbType.Bit).Value = CheckBox1.Checked
cmd.Parameters.Add("@aroosi", SqlDbType.Bit).Value = CheckBox2.Checked
cmd.Parameters.Add("@hanabandan", SqlDbType.Bit).Value = CheckBox3.Checked
cmd.Parameters.Add("@baleboron", SqlDbType.Bit).Value = CheckBox4.Checked
cmd.Parameters.Add("@patakhti", SqlDbType.Bit).Value = CheckBox5.Checked

con.Open()
cmd.ExecuteNonQuery()


MessageBox.Show("تغییرات جدید اعمال شد")


con.Close()
Dgv1.Refresh()



ارور:


128095


سلام

خب دوست عزیزم اول از همه بین برخی پارامترهایی که تعریف کردی فاصله افتاده
و دوماً شما یبار خط اولی که مربوط به id هست را بزار آخرین خط ببین درست میشه؟
راسی بنظرم بجای add از addwithvalue اگه اشتباه نکنم استفاده کنی فک کنم بهترباشه

موفق باشید

piter11
دوشنبه 13 بهمن 1393, 20:59 عصر
دمتون گرم درست شد مشکل اصلیم همون بود که مهندس آشتیانی بود گفتن باید یه آبجکتی از کلاس command می ساختم