user附近有语法错误,求助

string id=Session["userid"].ToString();
string str = ConfigurationManager.ConnectionStrings["shuju"].ConnectionString;
SqlConnection conn = new SqlConnection(str);
string sql = "select * from user where grade >(select grade from user where id="+id+")";
SqlCommand cmd = new SqlCommand(sql,conn);
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
DataTable dt = new DataTable(sql);
da.Fill(dt);
DataList1.DataSource = dt;
DataList1.DataBind();

user用中括号括起来
 select * from user where grade >(select grade from user where id="+id+")";
 改成
 select * from [user] where grade >(select grade from [user] where id="+id+")";

user 关键字,加上一个[],谢谢

user用中括号括起来
select * from user where grade >(select grade from user where id="+id+")";
改成
select * from [user] where grade >(select grade from [user] where id="+id+")";

不用中括号吧,看着语法也没问题啊