下面的Where条件中Session["User"].ToString()报错,错误12:当前上下文中不存在名称“Session”
                sql = " select AutoID,BookingNumber,CreateTime,CreateUser,PrincipleENShName, " +
                      " TradeShortName,ShippENShName,TwentySize,FourtySize,HQ,FortyFiveSize, " +
                      " case Recevoir_flag when 1 then '已受理' else '未受理' end as Recevoir_flag,"+
                      " case Modify_flag when 1 then '已修改' else '未修改' end as Modify_flag,"+
                      " SO,BerthCreateTime,BerthCreateUser,BerthManageQuantity from " +
                      " where CreateUser = '" + Session["User"].ToString() + "' v_bk_BookingMain order by AutoID desc";
Session["User"]是登录用户名,我想通过登录用户名来过滤显示的记录,即哪个用户登录只能看见自己的记录?

解决方案 »

  1.   

    楼主可以把登陆名设为一个全局变量,在SQL中引用它
      

  2.   

    理論上沒錯啊
    是不是之前沒對session賦值?
      

  3.   

    理论上 没错 这样 SQL语句 比较危险
      

  4.   

    我想問的是,在這句sql之前,你有沒有Session.Add("User","xxxx")  ?
      

  5.   

    session["userid"] 是空的或者null 
      

  6.   

    lz没有对session做任何判断就 + 字符串,这样是容易出错的
      

  7.   


     " where CreateUser = '" + Session["User"].ToString() + "' v_bk_BookingMain order by AutoID desc";
    这里的v_bk_BookingMain是什么意思?
      

  8.   

    to:Garnett_KG
    不好意思,应该是这样的
     sql = " select AutoID,BookingNumber,CreateTime,CreateUser,PrincipleENShName, " +
                          " TradeShortName,ShippENShName,TwentySize,FourtySize,HQ,FortyFiveSize, " +
                          " case Recevoir_flag when 1 then '已受理' else '未受理' end as Recevoir_flag,"+
                          " case Modify_flag when 1 then '已修改' else '未修改' end as Modify_flag,"+
                          " SO,BerthCreateTime,BerthCreateUser,BerthManageQuantity from v_bk_BookingMain " +
                          " where CreateUser = '" + Session["User"].ToString() + "' order by AutoID desc";
      

  9.   

    下面的Where条件中Session["User"].ToString()报错,错误12:当前上下文中不存在名称“Session"这个错误讯息不是SQLServer返回给你的,应该是你程序的问题吧。