PDA

View Full Version : ارور در دستور اپدیت



eletcomp
پنج شنبه 29 آبان 1393, 15:29 عصر
با سلام بر اساتید
من دستور اپدیت را توی چند تا فرم و جدول تست کردم و جواب دادند ولی نمیدانم چرا توی این جدول ارور عجیب میده که در مورد syntax هست!!! کسی میتونه بگه علت این ارور چی هست؟؟

http://www.uplooder.net/img/image/65/09f64e728c0922714e784b360138c948/error.png

سپاس

shahryari
پنج شنبه 29 آبان 1393, 15:39 عصر
دوست من شماباید کدها رو بطور کامل بذارید
اونطوری از عکس مشخصه این خطای نحویه
علی الظاهر ..مقابل b_moalef مساوی نذاشتی

eletcomp
پنج شنبه 29 آبان 1393, 15:47 عصر
ممنون دوست عزیز: نه خیر: چیزی نگذاشتم!! به این b_moalef گیر میده!! مقادیر داخل اش: مخصوصا!!
سپاس



SqlCommand cmd = new SqlCommand();
cmd.Parameters.Clear();
cmd.Connection = con;
cmd.CommandText = "update Tbl_book set b_title='" + txt_Title_Update.Text + "',b_group='" + cmb_Group_Update.Text + "',b_print='" + txt_numprint_Update.Text + "',b_moalef'" + txt_Moalef_Update.Text + "',b_page'" + txt_Totalpage_Update.Text + "',b_total'" + txt_Total_Update.Text + "' where b_isbn=" + txt_Isbn_Update.Text;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("اطلاعات ویرایش شد");

shahryari
پنج شنبه 29 آبان 1393, 15:51 عصر
خب منم همینو میگم دیگه
جلوی فیلدها مساوی نذاشتی دو سه تاشون مساوی ندارن...
درثانی برای ترکیب متنهای داخلی و متنهایی که از کاربر قراره بگیری از String.Formt استفاده کن

اینجوری بنویس:
SqlCommand cmd = new SqlCommand();
cmd.Parameters.Clear();
cmd.Connection = con;
string sql = "update Tbl_book set b_title='{0}',b_group='{1}',b_print='{2}',b_moalef ='{3}',b_page='{4}',b_total='{5}' where b_isbn={6}" ;
sql = string.Format(sql, txt_Title_Update.Text , cmb_Group_Update.Text , txt_numprint_Update.Text, txt_Moalef_Update.Text , xt_Totalpage_Update.Text , txt_Total_Update.Text , txt_Isbn_Update.Text);
cmd.CommandText = sql;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("اطلاعات ویرایش شد");

eletcomp
پنج شنبه 29 آبان 1393, 16:05 عصر
ممنون دوست عزیز: الان مشکل کده ای من دقیقا چی بود؟؟؟ کجا باید مساوی می گذاشتم!! من دقیقا همین کد را یک جای دیگه استفاده کردم و جواب داد!!!
سبک کد نویسی شما یکم عجیب هست برای من(حرفه ای هست:لبخند:)میشه ان کد های من را ویرایش کنید(به سبک خودم)!! یا یک توضیحی در مورد کد های خودتان بدهید!!:قلب:
سپاس

shahryari
پنج شنبه 29 آبان 1393, 16:09 عصر
کدهای شما خطای سینتکس داشت
قالب دستور آپدیت به شکل زیر است
UPDATE TableName SET Field1=Value1 , Field2=Value2 WHERE Field3=Value3

eletcomp
پنج شنبه 29 آبان 1393, 16:38 عصر
ممنون دوست عزیز:2سئوال:
1. {0} اینجا به چه معنا هست؟؟؟ و این دستور sql = string.Format

2. توی دستور اپدیت ایا همیشه باید شرط گذاشت و کلید منحصر فرد (کلید اصلی)هم گذاشت؟؟؟
مثل: where b_isbn={6}
سپاس

shahryari
پنج شنبه 29 آبان 1393, 16:55 عصر
1 - اندیسهای داخل آکولاد در واقع با مقادیری که در پارامتر های string.format هست جایگزین میشن
2- اگه اون شرط رو برای اپدیت نذارید کل جدول مقادیرشو ست میکنه