PDA

View Full Version : خطا incorrect syntax near ')'



mona_z
دوشنبه 27 خرداد 1387, 10:52 صبح
من یک دستور select رو در sql server 2000 اجرا می کنم درست اجرا می شه وقتی آنرا
می یارم توی برنامه و با پارامترهایی که از textbox می گیره رو اجرا می کنم خطای '(' incorrect sysntax near رو می ده با اینکه من همه چیز آنرا چک کردم

Mahdi.Kiani
دوشنبه 27 خرداد 1387, 11:03 صبح
من یک دستور select رو در sql server 2000 اجرا می کنم درست اجرا می شه وقتی آنرا
می یارم توی برنامه و با پارامترهایی که از textbox می گیره رو اجرا می کنم خطای '(' incorrect sysntax near رو می ده با اینکه من همه چیز آنرا چک کردم

1) کدتون را بذارید
2) از command های تکستی تا جایی که امکان داره استفاده نکنید ( از SP استاده کنید. چون غیر از مزایای سادگی کار کردن با اونا، تغییرات، Reusable و ... مزایای دیگری از جمله Cashe شدن دارن که ...)
3) چنانچه اصرار دارید که از TextCommand ها استفاده کنید از Place Holder ها در متن Command استفاده کنید که مدیریت اونا را حت تر باشه

mona_z
سه شنبه 28 خرداد 1387, 19:19 عصر
سلام اگه می شه بگید اشکال این دستورها چیه .
ممنون


dgdriver.Items.Clear();
sqlcom.CommandText = "select id,registerDate,city,tel,notebookNum,nationalCode, fatherName,lastName,name from driver where (name like N'%" + txtname.Text + "%') and (LastName like N'%" + txtlastName.Text + "%') and (insPolicy=" + txtinsPolicy.Text + ") and(nationalCode=" + txtnationalCode.Text + ") and (expPlaceLic='" + expPlaceLic.Text + "') and (licenceNum=" + txtlicenceNum.Text + ") and (notebookNum="+txtnotebookNum.Text+")";
sqlcon.Open();
sdr = sqlcom.ExecuteReader();
for (int i = 0; sdr.Read(); i++)
{
this.dgdriver.Items.Add(sdr[0].ToString());
this.dgdriver.Items[i].SubItems.Add(sdr[1].ToString());
this.dgdriver.Items[i].SubItems.Add(sdr[2].ToString());
this.dgdriver.Items[i].SubItems.Add(sdr[3].ToString());
this.dgdriver.Items[i].SubItems.Add(sdr[4].ToString());
this.dgdriver.Items[i].SubItems.Add(sdr[5].ToString());
this.dgdriver.Items[i].SubItems.Add(sdr[6].ToString());
this.dgdriver.Items[i].SubItems.Add(sdr[7].ToString());
this.dgdriver.Items[i].SubItems.Add(sdr[8].ToString());
}
sqlcon.Close();
sdr.Close();

رضا عربلو
سه شنبه 28 خرداد 1387, 19:56 عصر
تو دستور select ات یک پرانتز جا گذاشته ای.
notebookNum="+txtnotebookNum.Text را به صورت
notebookNum="+txtnotebookNum.Text + ")"
بنویس

linux
سه شنبه 28 خرداد 1387, 20:29 عصر
سلام اگه می شه بگید اشکال این دستورها چیه .
ممنون


dgdriver.Items.Clear();
sqlcom.CommandText = "select id,registerDate,city,tel,notebookNum,nationalCode, fatherName,lastName,name from driver where (name like N'%" + txtname.Text + "%') and (LastName like N'%" + txtlastName.Text + "%') and (insPolicy=" + txtinsPolicy.Text + ") and(nationalCode=" + txtnationalCode.Text + ") and (expPlaceLic='" + expPlaceLic.Text + "') and (licenceNum=" + txtlicenceNum.Text + ") and (notebookNum="+txtnotebookNum.Text+")";
sqlcon.Open();
sdr = sqlcom.ExecuteReader();
for (int i = 0; sdr.Read(); i++)
{
this.dgdriver.Items.Add(sdr[0].ToString());
this.dgdriver.Items[i].SubItems.Add(sdr[1].ToString());
this.dgdriver.Items[i].SubItems.Add(sdr[2].ToString());
this.dgdriver.Items[i].SubItems.Add(sdr[3].ToString());
this.dgdriver.Items[i].SubItems.Add(sdr[4].ToString());
this.dgdriver.Items[i].SubItems.Add(sdr[5].ToString());
this.dgdriver.Items[i].SubItems.Add(sdr[6].ToString());
this.dgdriver.Items[i].SubItems.Add(sdr[7].ToString());
this.dgdriver.Items[i].SubItems.Add(sdr[8].ToString());
}
sqlcon.Close();
sdr.Close();

حتما از sqlparameter استفاده کنید برای پاس کردن پارامترها