在三层结构中,我的后端数据库为SQL Server2000,在数据库中定义了不同的角色及权限。比如说对某一个数据表OneTable的某几个字段,有的角色只有Select的权限,有的角色连Select的权限都没有。  这时如果我用某个DataSet组件,运行Select * from OneTable,而此时我的权限只能Select 部分字段,对其他的字段我所处的角色没有Select的权限。问题一:请问这时返回到我的DataSet组件中的数据,包括这几个没select权限的字段吗?(本来我应该自己测试的,但是现在没条件,所以只有请问大家了!多谢!)问题二:逻辑上说,问题一的答案应该是“不包括”。(不知道是不是这样?)假设“不包括”,如果我的DataSet组件用的是Dynamic field,那就没什么问题。但如果我用的是Persistent field,而且引入了OneTable中的所有字段。那么对于那些没Select权限的字段,该怎么处理呢?Delphi会引发异常吗?问题三:如果我的DataSet组件用的是Dynamic field,是否可以设置它的相关属性,比如说ReadOnly等等。问题四:如果我的DataSet组件用的是Dynamic field,可否有办法给DataSet动态添加Lookup字段和Calculated字段呢? 按照Delphi的Help,这是不行的。不知道有没有高人能够实现呢?