ACCESS数据库有两个表如下:
1、员工(字段:员工编号,姓名,性别,职务编号,家庭地址等)
2、职务(字段:职务编号,职务名称)窗体中上半部分有一个DBGridEh用于显示“员工”表中数据,只读不能修改,以及其它数据访问组件(如AdoQuery,DataSouce等)
下半部分有若干个DBEDIT用于增加或修改DBGRIDEH中选择的记录(即“员工”表数据)
其中有一个DBLookupComBoBox组件用于选择“职务”表中的数据问题如下:1、“员工”表中的“职务编号”字段为“职务”表中的“职务编号”的内容,如何使到在DbLookupComboBox中选择职务时,DBGridEh中显示的是职务名称,而不是职务编号;2、在增加或修改记录时,为了不让DBGRIDEH中的内容实时回显示,我用了AdoQuery1.DisableControls方法,但发现DbComBoBox及DBLookupComboBox等组件中的内容不能选择,如何解决?(说明:DBEdit,DBComBobox,DbLookupCombobox等组件连接到同一数据源DataSouce1,而DataSouce1连接到AdoQuery1,AdoQuery1.SQL内容为Select * from 员工);最好能提供源码我学习学习,谢谢了。
1、员工(字段:员工编号,姓名,性别,职务编号,家庭地址等)
2、职务(字段:职务编号,职务名称)窗体中上半部分有一个DBGridEh用于显示“员工”表中数据,只读不能修改,以及其它数据访问组件(如AdoQuery,DataSouce等)
下半部分有若干个DBEDIT用于增加或修改DBGRIDEH中选择的记录(即“员工”表数据)
其中有一个DBLookupComBoBox组件用于选择“职务”表中的数据问题如下:1、“员工”表中的“职务编号”字段为“职务”表中的“职务编号”的内容,如何使到在DbLookupComboBox中选择职务时,DBGridEh中显示的是职务名称,而不是职务编号;2、在增加或修改记录时,为了不让DBGRIDEH中的内容实时回显示,我用了AdoQuery1.DisableControls方法,但发现DbComBoBox及DBLookupComboBox等组件中的内容不能选择,如何解决?(说明:DBEdit,DBComBobox,DbLookupCombobox等组件连接到同一数据源DataSouce1,而DataSouce1连接到AdoQuery1,AdoQuery1.SQL内容为Select * from 员工);最好能提供源码我学习学习,谢谢了。
select a.*,b.职务名称 from 员工 a,职务 where 职务编号=b.职务编号
就可以解决了2 使用catch进行更新就可以了
Begin
DmBaseData.ShopDB.StartTransaction ;
TryApplyUpdates;
DmBaseData.ShopDB.Commit ;Except
DmBaseData.ShopDB.Rollback ;
Raise ;
End;
CommitUpdates; //{on success, clear the cache}End;