如何让数据库表处于READONLY状态?(50分)

  • 主题发起人 主题发起人 jobsxy
  • 开始时间 开始时间
J

jobsxy

Unregistered / Unconfirmed
GUEST, unregistred user!
数据库ACCESS,一大堆TDBEDIT、TDBMEMO、TDBGRID。。。。。。。。通过ADo关联到ADOQuery

我需要在ADOQERY处于打开状态下,动态控制表的状态是处于只读还是可编辑。

注;改变状态时不能将ADOQERY关闭再打开;也别告诉我将TDBEDIT设为只读,那样我会死的:(

 
ADOQERY你查一下它的事件里应该有一个beforupdate之类的事件
对此事件作一些控制就行
 
把Tag作为ReadOnly标志,1为只读,其它可写
在beforepost里面

if TADOQuery(Sender).Tag = 1 then Abort;
 
呵呵,有点启发,我试试先
 
这样效果不好,:(
主要是TDBEDIT仍然可以修改数据,(当然是不能提交),这样给客户的感觉不好,他们肯定
要挑毛病的。
 
那只有在TDBEDIT的onchange事件里调用在beforepost事件。
为什么TDBEDIT不能设为只读?
 
估计你只有把整个form或者放置所有编辑控件的groupbox或者panel设置
Enabled为False
 
to mlzhou: 因为我的TDBEDIT太多了,而且也不是全部都需要READONLY,只是大部分需要,
如果一个个去写太烦了。

看来只好照qdyong所说的了,如果能在ADOQuery或DataSet上做就好了
 
多人接受答案了。
 
后退
顶部