PDA

View Full Version : خطای Incorrect syntax near the keyword در هنگام ثبت



angel farahani
چهارشنبه 03 اردیبهشت 1393, 01:40 صبح
با سلام دوستان ، من میخوام سفارش رستوران رو ثبت کنم اما خطای Incorrect syntax near the keyword 'order رو میده ، لطفا کد رو نگاه کنید ، آیا جاییش مشکل داره ؟


String query; String conString = ConfigurationManager.ConnectionStrings["OnlineResturansConnectionString"].ToString();
SqlConnection sqlcon = new SqlConnection(conString);
query = "insert into order(userid,orderprice,shopid,orderstatus,orderda te) values(@userid,@orderprice,@shopid,1,GETDATE())";


SqlCommand cmd = new SqlCommand(query, sqlcon);
cmd.Parameters.AddWithValue("@userid",Convert.ToInt16(Session["userid"]));
cmd.Parameters.AddWithValue("@orderprice",Convert.ToDouble(Session["totalprice"]));
cmd.Parameters.AddWithValue("@shopid",Convert.ToInt16(Session["shopid"]));
cmd.Parameters.AddWithValue("@orderdate", SqlDbType.Date).Value = DateTime.Now;
cmd.Parameters.AddWithValue("@orderstatus", 1);

sqlcon.Open();
cmd.ExecuteNonQuery();
sqlcon.Close();

angel farahani
چهارشنبه 03 اردیبهشت 1393, 01:45 صبح
دوستان شرمنده این پست در انجمن بوده و راه حل آن گذاشتن نام جدول در داخل [] است . برا من درست شد :)

anvar
چهارشنبه 03 اردیبهشت 1393, 10:27 صبح
مشکل از اینجاست که واژه order یکی از کلمه های کلیدی اس کیو ال هست و نمیشه برای جدول ها و سایر موجودیت ها ازش استفاده کرد برای اینکه به اس کیو ال یگی که این order (نام جدول شما) با اون order (کلمه کلیدی) فرق می کنه , باید در داخل [] قرارش بدی تا سوء تفاهم نشه!