如何使adodataset的返回資料集為只讀屬性(100分)

  • 主题发起人 主题发起人 zjwork
  • 开始时间 开始时间
Z

zjwork

Unregistered / Unconfirmed
GUEST, unregistred user!
請教大家,因我的客戶有權限設置,要求的有的使用者可以修改,
而有的使用是只讀的,請教要如何處理.
如何使adodataset的返回資料集為只讀屬性/
 
方法一:将对应的DATASOURCE的AutoEdit设为False;
方法二:利用显示数据的控件某些属性控制,例如:ReadOnly、DBGRID下的ROWSELECT等
 
令可修改数据集的控件能作修改操作时的属性为假就行了。
 
同意SALLYPO的说法
 
>方法一:将对应的DATASOURCE的AutoEdit设为False;
此方法不行.
>方法二:利用显示数据的控件某些属性控制,例如:ReadOnly、DBGRID下的ROWSELECT等
此方法太笨了.假設一個Form上有許多的感知控件,要一個個去控制麼

我以前用 bde 引擎的時侯, 如果是query,把 Requestlive設為 false,
table的readonly設為true,我剛改用ado,不知有沒有類似的屬性

 
感謝樓上的各位兄弟的回答,小弟還有一點疑惑:
>>方法一:将对应的DATASOURCE的AutoEdit设为False;
別人去新增或點編輯進去呢.
>方法二:利用显示数据的控件某些属性控制,例如:ReadOnly、DBGRID下的ROWSELECT等
此方法太笨了.假設一個Form上有許多的感知控件,要一個個去控制麼

我以前用 bde 引擎的時侯, 如果是query,把 Requestlive設為 false,
table的readonly設為true,我剛改用ado,不知有沒有類似的屬性
還請各位幫忙再想想辦法
 
什么数据库呀,可以考虑使用数据库自己的用户名和权限来控制。
 
设置控件也可以啊,如dbgrid或dbedit等数据敏感控件的readonly
也可控制按钮的状态(enable),如果他可以增加则增加按钮的enabled为true.
依此类推。
 
假設一個Form上有許多的數據 感知控件,要一個個去控制麼
 
大家幫忙看看呀
 
可以通过判断用户及权限,在FORM中控制就行了。
先遍历所有的数据感知控件,再设置为只读。
 
如何遍歷及判斷控件為數據感知控件呢.
可能給一段代碼嗎,謝謝了
 
for i := 0 to ComponentCount - 1 do
if (components is 数据感知控件的父类) then
(Components as 数据感知控件的父类).readonly:=true;
 
将AutoEdit设为False
 
ADOQuery.LockType:=ltReadOnly;
 
問題巳解決,謝謝各位.
 
后退
顶部