关于数据库程序中的代码字典问题,请指教!(100分)

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

z_sheng

Unregistered / Unconfirmed
GUEST, unregistred user!
是这样,有一个表,110个字段,其中有70多个是代码形式,都有对应的代码字典表,
在FORM中录入和查询的时候,要让各控件显示为转换后的汉字,我使用了70多个DBLookUp控件,感觉是一个非常愚蠢的办法,请问怎样才是比较优化和常用的方法?
对于那些代码字段还涉及到字典代码的增加,所以我没有选择combox。
还有,在使用gird显示数据的时候,怎么转换代码字段呢?
 
用grid显示时用query为数据源即可。
select * from -- where --
 
给个提示——界面上统一使用TEDIT,在双击事件中弹出一个代码选择小窗口(自然还可以
增、删、改了),如果是日期型字段,将窗口中组件改为下拉日期组件。
 
对于那些代码字段还涉及到字典代码的增加,所以我没有选择combox。
这个说法也不对

这是我的程序中的一段:
procedure TCQBroker.AssembleDispModeItems(AStrings: TStrings);
const
strSql = 'SELECT * FROM PMIS.COM_CQ_DISPMODE ORDER BY DISPMODE_DISPINDEX';
begin
AStrings.Clear;
with FCallDB do
begin
SqlOpen(strSql);
with DataSet do
begin
while not EOF do
begin
AStrings.AddObject(FieldByName('DISPMODE_NAME').AsString,
TObject(FieldByName('DISPMODE_ID').AsInteger));
Next;
end;
SqlOpenEnd;
end;
end;
end;

调用处:
procedure TCQParamForm.FormShow(Sender: TObject);
begin
//inherited; //FORM是派生下来的
with CQBroker do
begin
AssembleDispModeItems(dxrDispMode.Items);
//others
end;
end;
 
110个字段?真够多的,用户使起来也的累死...
我觉得用combox没什么不好的,你对于代码表的增加删除修改应在另外一个简单的
界面里完成,至于现实相关联的代码信息,你查询时使用关联不就行了,我担心
delphi支不支持70多个表的关联,你自己做实验吧...
 
我觉得用combox没什么不好的,你对于代码表的增加删除修改应在另外一个简单的
界面里完成,

说的对,
我就写了一个基础代码管理器, 管理了我们系统中所有的代码.

很简单:
只需两张表: 一个管理类型; 一个管理实例(值);
和其他子系统的接口通过视图, 即添加每一种类型时创建一个视图.


 
多人接受答案了。
 
后退
顶部