比如某个用户的用户名是0001(也是他的学号),他只能查询A表中自己的信息
而不能去查询别人的信息
在SQL Server能实现不?
显然不能只是给个SELECT权限

解决方案 »

  1.   

    SQL中没法实现吧,通过开发的程序中控制应该更可行更方便吧。
      

  2.   

    语句中加过滤 where 学号=他的学号
      

  3.   

    Sql Server 是没有授予一个用户对数据库中某行的访问权限的!
    还有你这个问题,或者你自己的思路似乎也不清晰. 你怎么保证学号0001的人不会去查学号0002的人的资料呢?
    你必须有个验证这个查资料人的身份的程序以确认这个人到底是0001还是0002!
    所以所有的权限分配都在这个验证的过程中完成不就可以了吗?
    例如:你提供一个给0001一个用户名密码,他用提供的用户名和密码登录之后就显示0001的资料.
      

  4.   


    在SQL语句把他登录的用户名强行加上去查询.如:select * from A where 用户名 = '0001' --这里的0001可以使用变量.