SQL语句老是抱错,弄了好久没弄出来
本人在VS2003中用DataGrid来装载数据,并写了一个更新语句,如下: 
 //------------------------Bind   Data 
 		#region   显示用户列表 
 		private   void   ShowUserInfo() 
 		{ 
 			string   ls_sql= "select   top    "+dg_UserInfo.PageSize+ "   id,x_usercode,x_username, 'usertype '=case   x_usertype   when   1   then    '销售商 ' " 
 					+ "when   2   then    '供应商 '   end,    'enable '=case   x_enable   when   0   then    '未通过 '   when   1   then    '已通过 '   end   from   t_userinfo   where   ( " 
 + "x_usertype=1   or   x_usertype=2   )   and   id   not   in   (select   top    "+anp_UserInfo.PageSize*dg_UserInfo.CurrentPageIndex+ "   id " 
 + "   from   t_userinfo   where   (x_usertype=1   or   x_usertype=2)   order   by   id   asc)   order   by   id   asc "; 
 			DataSet   ds=michael.GetData(ls_sql); 
 			dg_CheckUser.DataSource=ds.Tables[0].DefaultView; 
 			dg_CheckUser.DataBind(); 
 		} 
 		#endregion 
 //--------------------------Update   Data 
 private   void   CheckUser_Enable(string   ls_id) 
 		{ 
 			string   ls_sql= "update   t_userinfo   set   x_enable=case   x_enalbe   when   1   then   0   when   0   then   1   where   id= ' "+ls_id.ToString()+ " ' "; 
 			michael.ExecSqlCommandAndWithOutReturn(ls_sql); 
 		} 
 //-----------------------------Select   Data 
 		private   void   dg_CheckUser_ItemCommand(object   source,   System.Web.UI.WebControls.DataGridCommandEventArgs   e) 
 		{ 
 			string   ls_id= "0 "; 
 			ls_id=Convert.ToInt32(e.Item.Cells[0].Text.Trim()).ToString(); 
 			if(e.CommandName== "Select ") 
 			{ 
 				CheckUser_Enable(ls_id); 
 			} 
 			ShowUserInfo(); 
 		} 
 //----------------------------点击   “选择”——DataGrid上的一个“Select”Command命令后 
 //------------------------------出现如下错误: 
 Exception   Details:   
System.Data.SqlClient.SqlException:   在关键字    'where '   附近有语法错误。 
 可是我放在查询分析器里面执行的时候又是正确的,不是是哪里出现了问题??? 
 请各位高手指点指点~~等待ing~~~~~
------解决方案--------------------DataSet ds=michael.GetData(ls_sql);   
 你在这句上打个断点,监视一下ls_sql的值,再发出来,或者到查询分析器中执行一下
------解决方案--------------------你跟踪下SQL语句在程序里值是什么样的.估计是where那里和前面的字符连在一起了.
------解决方案--------------------看着实在费劲。 
 你设置个断点调试下,把SQL语句提出来在SQL SERVER上运行下,可以找出原因。
------解决方案--------------------string ls_sql= "select top  "+dg_UserInfo.PageSize+ " id,x_usercode,x_username, 'usertype '=case x_usertype when 1 then  '销售商 ' " 
 △   
 LZ这个ID前面有空格吗?