dbedti的值如何被几个数据库同时录入!?(0分)

  • 主题发起人 主题发起人 大森林
  • 开始时间 开始时间

大森林

Unregistered / Unconfirmed
GUEST, unregistred user!
现在一个dbedit,目前有table1,table2,table3字段里都需要这个值,请问如何实现
dbedit的数据能同时被他们三个共享??谢谢!
 
dbedit 一般是用来显示table 中当前记录的字段的,怎么可能"共享"???
我觉得思路有问题?
 
你要怎么共享?
TABLE1.FIELDS.FIELDBYNAME('字段').asstring:=dbedit1.text;
TABLE2.FIELDS.FIELDBYNAME('字段').asstring:=dbedit1.text;
TABLE3.FIELDS.FIELDBYNAME('字段').asstring:=dbedit1.text;
是不是这样?
 
数据库相关控件,只能关联一个TABLE,要不你用不相关的EDIT,然后在过程中写事件,
如:易名烦 说的。
 
dbedit用来与一个数据集的一个字段连接操作
若想同时改变其他数据集或字段,在此数据集的(before/after)post
事件中作相应更改
 
可我发现这时的dbedit没有text属性了!只有一个field,还有一个datesource
其余还有二个无关紧要的,真不知道如何是好啊?请各位高人指点!
 
改成
TABLE1.FIELDS.FIELDBYNAME('字段').asstring:=dbedit1.datasource.dataset.fields.fieldbyname(dbedit1.fieldname).asstring;
TABLE2.FIELDS.FIELDBYNAME('字段').asstring:=dbedit1.datasource.dataset.fields.fieldbyname(dbedit1.fieldname).asstring;
TABLE3.FIELDS.FIELDBYNAME('字段').asstring:=dbedit1.datasource.dataset.fields.fieldbyname(dbedit1.fieldname).asstring;
是不是这样?
 
假如你的dbedit連結table1的field1,那麼你需要
在Field1的onValidate事件中寫
table2.FieldByName('').asXXX:=table1.FieldByName('field1').AsXXX;
.....
 
硬要这样做,就动态设置相关字段!
 
只能通过程序赋值的方式实现共享
不过不必对DBEdit的值进行读取,而是自己读取其关联的数据集的当前记录的字段值
比如其关联的是Table1,则(假设用的是TAdoTable)
在提交数据时
Table2.FieldValue('') := Table1[''];
Table3.FieldValue('') := Table1[''];
 
还是用Query吧,Table多难用啊
 
接受答案了.
 
后退
顶部