说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

建立自己的数据字典库-Delphi资料

HTML文档下载 WORD文档下载 PDF文档下载
建立自己的数据字典库-Delphi资料

当开发一个稍大一点的数据库程序时,往往会涉及许多表。这些表的

管理就成为一个问题了。Delphi3(C/S)提供了数据字典的功能,

但有一定的局限性,而且该数据字典的功能中有BUG。我一般都自己

建一个数据字典库来管理一个工程中的许多表,工程中所有的表在字

典库中都有详尽的描述,便于管理和维护。这样不论时过多久,工程

中所有的表都能尽在掌握之中的。若对数据库结构只作很小的改动时,

只在数据字典库中进行,然后由程序来动作创建表,既快而又不容易

出错。可以详尽地描述一个字段的名称、类型、显示名称,提示数据

库,提示字段、是否为索引字段、是否允许修改等等。用户可以随时

修改字段的显示标题(Title)

提示内容等而不必修改程序本身。

对于使用DBGrid控件来说,完全可以由程序来实现各个Colum的标

题、提示等内容的填写。不必很麻烦地一个个地去设计DBGrid的每

一个Column,也不会因为失误或结构的修改或其他原因导致要重新

将DBGRid的各个Column设计一遍这种麻烦而又可能导致新的错误

的重复性劳动。由于能自动填写显示标题,提示内容等功能,就不

用在屏幕上放很多TTable的可视化小方块图形了,只要处理过程

不冲突,就可以共用一个TTable控件,也就可以相对地节约一些

系统资源了。总之我认为采用数据字典库好处很多的。我这里有一

个实际的字典库使用的例子,该例子是为了给指定的DBGrid控件填

写各个字段的显示标题(DiplayLabel),提示内容(PickList)的

供参考:

procedure TFMlrxz.GetDisplayName( pform:tform; PDB:TTable; PGD:TDBGrid );

var

i: integer;

fdnm: String[25];

fdnma: array[0..40] of Char;

fdnmp: PChar;

lktb

rgstart

rgend

rgfd: String[12];

lkfd: string[20];

tskm

tszd: Variant;

begin

amkey := "";

asubkey := "";

for i := 0 to 40 do

azdxwm[i] := "";

with pdb do

begin

fdnm := upperCase(Pgd.Fields[0].FieldName);

if lowercase(pform.name) = "fmlrsj" then

jskm := xzzkm

else

jskm := xzkm;

if locate("bxwm; zdxwm"

VarArrayOf([jskm

fdnm])

[loCaseInsensitive] ) then

begin

keycount := fieldbyname("keycount").asinteger;

for i:=0 to Pgd.FieldCount-1 do

begin

fdnm := upperCase(Pgd.Fields[i].FieldName);

Pgd.Fields[i].DisplayLabel := FieldByName("zdhzm").AsString;

PGD.Columns[i].Title.Alignment := taCenter;

azdxwm[i] := fdnm;

if lowercase(pform.name) = "fmlrxz" then

begin

if (azdxwm[i]="DX") or (azdxwm[i]="XT") or (azdxwm[i]="RW") then

PGD.Columns[i].field.OnChange := Fmlrsj.dbxhDXChange;

azbbh[i] := fieldbyname("zbbh").asstring;

if length(fieldbyname("gjz").asstring)<> 0 then

amkey[i] := fieldbyname("gjz").asstring[1];

end;

if (lowercase(pform.name) = "fmlrsj")

and (length(fieldbyname("gjz").asstring)<> 0) then

asubkey[i] := fieldbyname("gjz").asstring[1];

{ ************************************************************ }

lktb := FieldByName("LookTable").AsString;

lkfd := FieldByName("LookField").AsString;

if (Length( lktb ) <> 0) then

begin

DBtemp1.Active := False;

if FieldByName("tbname").AsString = "ZD" then

DBtemp1.DatabaseName := "jzglzd"

else

DBtemp1.DatabaseName := "jzgl";

DBtemp1.TableName := lktb;

DBtemp1.Active := True;

DBtemp1.First;

PGD.Columns[i].PickList.Clear;

{ ************************************************************** }

if lktb = "tsdict.db" then

begin

// tskm := xzkm;

tszd := fdnm;

with dbtemp1 do

if (locate("tszdxw"

tszd

[loCaseInsensitive]))

and (length(FieldByName("tsnr").AsString) <> 0 ) then

begin

fdnm := FieldByName("tsnr").AsString;

PGD.Columns[i].PickList.Add(fdnm);

next;

while (length(FieldByName("tszdxw").AsString) = 0)

and (not eof) do

begin

fdnm := FieldByName("tsnr").AsString;

PGD.Columns[i].PickList.Add(fdnm);

next;

end;

end;

end {end of "tsdict"}

else

begin

if (dw <> "k00") and ((lktb = "dwdzdict.db") or (lktb = "zdming.db")) then

begin

{if lktb = "dwdzdict.db" then

begin

rgstart := "-0000";

rgend := "-9999";

rgfd := "dwdz";

end; }

if lktb = "zdming.db" then

begin

rgstart := "00";

rgend := "99";

rgfd := "zddz";

end;

with DBtemp1 do

begin

SetRangeStart; { Set the beginning key }

FieldByName(rgfd).AsString := dw + rgstart;

SetRangeEnd; { Set the ending key }

FieldByName(rgfd).AsString := dw + rgend;

ApplyRange; { Tell the dataset to establish the range }

end;

end; {end of "dw <> k00 }

while not DBtemp1.Eof do

begin

fdnm := DBtemp1.FieldByName(lkfd).AsString;

PGD.Columns[i].PickList.Add(fdnm);

DBtemp1.Next;

end;

end;{ end of else}

PGD.Columns[i].ButtonStyle := cbsAuto;

PGD.Columns[i].DropDownRows := 10;

end; {end of length(lktb)<>0}

next;

end; {end of for i:=0 to Pgd.FieldCount-1}

end {end of if locate}

else

begin

fdnmp := @fdnma;

StrPcopy(fdnma

fdnm);

StrCat(fdnmp

:不在字段名库中

);

Application.MessageBox( fdnmp

提示信息

mb_OK );

end;

end;

end;

趣味撞球VB5应用程序一例 VB如何从&quot;SOUND.DRV&quot;中提取声音 VB如何设定墙纸的显示方式? VB如何用API及MMSYSTEM.DLL播放AVI文件 VB如何知道计算机是否安装声卡? 设计简单的屏幕保护程序 -VB资料 使机箱内的小喇叭发出不同的声音 -VB资料 使用VB设计具有「动感」的命令图标栏 五彩缤纷的清屏效果-VB资料 系统是否支持声音 -VB资料 一个实用的VB屏幕程序 一个自动更换墙纸的小软件-VB资料 VB用 VB 设 计 VCD 播 放 器 VB用API播放 .wav 声音文件 VB用MCI指令进行多媒体编程 用VB5.0编写自己的MP3播放器 用VB6.0编写电脑抽奖程序 用VB6的双通道技术获得影碟片断 用VBScript制作活动主页 用VB编写DirectX7.0游戏(下) 用VB编写FLASH动画播放器 用VB设计VCD播放器 用VB实现队列播放MP3 用VB实现屏幕滚屏保护效果 用VB制作下雪的特技景象 用VB自制屏幕保护程序 用Visual Basic实现多画面播放功能 雨滴式的显示图片 -VB资料 在VB5.0中制作多媒体界面 在VB5中将英文字母及阿拉伯数字旋转任意角度 在VB5中如何使机箱内的小喇叭发出不同的声音? xpmenu控件的使用! 招聘的故事 请问谁有《Visual C++ MFC 编程实例》这本书的配套源代码?(在线等) 如果我数据库里有一篇文章 怎么格式化她????? isapi中用ado访问数据库只能读不能写,何故?相同的代码在exe中可以 在对话框中建立一个socket连接,如何在释放对话框之后保存这个连接以备以后使用? 关于屏保程序的讨论 安装程序的BDE问题? 我创建了一个POPUP风格的窗口,如何去除背景? 和 Oracle 的连接问题(odac ) 帮忙看一下有什么问题!! 高分求救!!急!!关于无法找到动态连接库的问题。 指纹算法 Java Developer Interbase如何自动保存更新 请教数据库连接池的使用.... 不要以为你不骂人你的素质就比那些骂街的高了,如果你卖国那么你的素质比那些骂街的更低,因为你基本不具备一个人的素质了 哪位有有关Vtune的相关资料呀,提供链接也行,最好是指南一类的,3X。 编程几年了,没有希望,想改行,你们呢? 有谁做过“文物馆的文物或藏品综合管理系统”如能提供资料或动者!本人感谢! 入门时奇怪问题? 如何把*.IMG文件转换为JPG文件? 其实你不懂我的心 那里可以买到microchip的mcp2150 ,(要现货),比较紧急,请帮忙 关于对2进制文件的操作 将去做SAP ABAP4平台编程,用过的请进。up有分。 C的图形问题? 为什么我点进去看不到内容? 如何考中程 数据窗口控件为dw_6,其间的对象为D_PUR,我想使其中的图片框的VISIBLE属性变为FALSE总是有错误,请教:)在线等待 kylix2在RedHat7.2下的安装问题? 能告诉我吗????各位哥哥指点一二 数据库置疑问题,并不难?请进 关于串口通讯(向手机发送AT命令集) 高手请看:表格的终极问题 如何得到treeview中选中项的标签或内容? 在哪能下载到FOXPRO2。0(FOR DOS) 请教高手!我没多少分了,50分给你! 怎么办? 谁救救我啊,怎么办? 对已生成的窗体缩小和移位后,恢复原始状态遇到的问题 字段中如何存入一个回车和换行符? 一个MYSQL的问题? PFC编程的那几个PBL库 我这里怎么会没有 请教高手 求最佳算法,谢谢,考试题目,请各位大俠务必帮忙,跪谢! 神阿,救救我吧! 求教高手!关于installshield的问题!我就50分了,全给你! 我号帐号的Email是eColdBlood@csdn.net,好玩吧?! 在COM编程中,PROXY/STUB到底怎么解释为好?谁的COM厉害请解答! 兄弟们帮忙,一个MM让我猜谜语!! win98 序例号? 在V升Al2(SO4)3溶液中加入过量的氨水,过滤得沉淀,然后在高温下灼烧沉淀,最后得到白色固体mg则原溶液中的SO42-的物质量的浓度为答案对了,为什么最后得到固体为Al2O3? 集合A={x|x=a+根号2b,a属于集合z,b属于集合z}判断下列元素x=0,根号2减1分之1,根号3减根号2分之1与集合A之间的关系 玉米除草剂都有哪几种 在VmL Al2(SO4)3溶液中加入过量的氨水,过滤得白色沉淀;然后在高温下灼烧沉淀,在VmL Al2(SO4)3溶液中加入 请用英语叙述人们对于爱情和婚姻在过去和现在不同的态度这是原题:Explain different attitudes towards love and marriage between people in the past and now.请用英语表达,要求不能用百度在线翻译直译.在120字 请帮我看看这些字母是什么意思hit achik ara made roie 直角三角形斜边怎么算 高二《生物》第二册课本中黄色豌豆的颜色是子叶的颜色还是种皮的颜色 现在世界上有哪些国家采用的是三权分立的政治制度 ATP是生命的能量储存物质 为什么不对 恋爱和婚姻有什么区别我很想知道大家对这两个概念的理解和观点这样可以更好的帮助许多对这些问题比较懵懂的朋友们去处理这方面 三权分立原则在美国政治制度中的体现方式 物质可以转换成能量,能量可以转换成物质吗,那样不就可以做能量储存了吗? 我和我的女朋友分手了,我想写一句话.最好能让读者哭的一句话..最好怎么写? 高效液相做苯甲酸和山梨酸苯甲酸和山梨酸各有一峰,当定义各自的曲线时需要定义单峰然后命名,每次我命名完苯甲酸后命名山梨酸时,一积分,两个峰的名称都变成山梨酸了,或者告诉我一下 走复兴路圆中国梦征文600字 求读者 一句话一个国外人说的,具体是 人不要总想尴尬的事,因为没人会帮你记的求 到底是怎么说的 人不要总想尴尬的事,因为没人会帮你记的就是这句话,我想要 这句话更详细的怎么说的 种子含水量与种子的呼吸作用强度之间的关系是怎样的? 走复兴路圆中国梦征文500字 哪家公司对耐高温硅橡胶电缆配方的分析比较精确?最近想对公司的一批耐高温硅橡胶电缆配方进行分析,请问哪家公司在这方面有比较可靠的技术,价格没关系,关键技术要靠谱. 如何结合语境提高高中英语语法教学水平 植物细胞中储存能量的主要物质是什么? 怎样才能用一句话抓住读者?或者说,那些具有能够深达人心底的句子是怎样才具有了这种力量?它们为什么能引起所有人的共鸣与认同?即使从原文的整体里分割出来也生机勃勃…我喜爱写作这 高中英语语法怎么提高?我英语一直就在及格线徘徊 快高考了 不知该怎么办 平时单词 课文也背了 听课也认真 为什么人类要砍伐树木最好相关的问题也回答, 英国的君主立宪制度特点有三权分立吗 高中英语语法怎样提高啊 酰胺类除草剂都有哪些 英国的三权分立与美国的平衡与平等相比,英国强调立法权最高,请问:英国是三权分立国家吗? 强力除草剂有哪几种 水稻除草剂分哪几类?分别有哪些? 英国是如何实现三权分立的? 除草剂主要有哪几种,各有什么特点? 除草剂有哪些种类啊啊?谁知道菜地里用什么好啊? 英国三权分立有哪些作用呢? 除草剂哪种效果好,用了之后不再长草 zwjlz.大家帮忙猜下这几个字母的意思我看到朋友更新的说说是这几个字母,以前她有话不愿说也写字母,这次我猜不到了 美国是三权分立体制、英国是什么? 猜英文字母,字谜L H B S W Q W , H Z C N G H H 这些都是字的开头拼音,是什么意思 豌豆种子的黄色对绿色为显性,圆粒对皱粒为显性,两对相对性状的遗传遵循基因的自由组合定律.纯合的黄色圆粒和绿色皱粒豌豆杂交,取F1的花粉按下图所示的程序进行实验.正确的分析是A. 除草剂哪个品牌好啊? 猜英语字母(急!)1.Which letter is a kind of drink?(哪一个字母是一种饮料?)2.Which letter is an insect?(哪一个字母是一种昆虫?)3.Which letter has a lot of water?(哪一个字母充满了水?)4.Which letter is calling y 豌豆种子的黄色(Y)对绿色(y)为显性,圆粒(R)对皱粒(r)为显性,这两对基因是自由组合的.甲豌豆(YyRr)与乙豌豆杂交,其后代四种表现性黄圆:黄皱:绿圆:绿皱的比例是3:3:1:1.则乙 除草剂的作用 英语猜字母 的基因组成是 如果用F1中的一株黄色园粒豌豆与绿色皱粒豌豆杂交,得到的F2的性状类型有 种.数量比为 这里是接着第三问的?麻烦你你了 豌豆豆荚绿色对黄色是显性,子叶黄色对绿色是显性.现把绿色豆荚、绿色子叶豌豆的花粉授给黄色豆荚、黄色子叶的豌豆,该植株所结的豆荚的颜色、子叶颜色分别是:A.黄色豆荚、黄色子叶B. 最典型的“三权分立”制国家是 A、 英国  B、 法国  C、 美国  D、 德国 最典型的“三权分立”制国家是A、英国 B、法国 C、美国 D、德国  AL2(SO4)3溶液和过量稀氨水反应的化学方程式 豌豆杂交实验黄色必然是显性基因吗? 已知豌豆种皮灰色G对白色g为显性,子叶黄色Y对绿色y为显性.若以基因型为ggyy的豌豆为母本,与基因型GgYy的豌豆杂交,则母本植株所结子粒的表现型为 ( )A.全是灰种皮黄子叶B.灰种皮黄子 芦苇苗?芦苇苗?芦苇苗?芦苇苗?芦苇苗?芦苇苗?哪里出售耐寒耐旱芦苇苗,绿化用芦苇苗? 豌豆未成熟豆荚绿色对黄色是显性性状...豌豆未成熟豆荚绿色对黄色是显性性状,将一颗杂合体绿色豆荚品种的豌豆花人工授以黄色品种豌豆的花粉,则这颗豌豆的未成熟豆荚的颜色会是:A全 现有一粒绿色(yy)圆形(Rr)豌豆,它们的相对性状是黄色,皱缩形.已知这两对基因分别位于两对同源染色体上.该豌豆种植并自花授粉结实(子一代);子一代未经选择便全部种植,再次自花授粉,收获 《走复兴路圆中国梦》初中生读本的征文600字,写的好的给800财富! 求 各种经典文章 青春 励志 最好是描写高中生活类似于你凭什么上北大一类的.《读者》上的经典文章也可越多越好 可以直接打题目,内容我可以自己找最佳回答给提供经典文章最多的人哦. 基因的自由组合定律,豌豆的灰种皮(G)对白种皮(g)为显性,黄子叶(Y)对绿子叶(y)为显性. 豌豆的灰基因的自由组合定律,豌豆的灰种皮(G)对白种皮(g)为显性,黄子叶(Y)对绿子 原始生命起源于什么?详细的问题说明,有助于回答者给出准确的答案 除草剂的类型有哪些 豌豆未成熟豆荚,绿色对黄色是显性,让杂合子绿色豌豆雌蕊接受黄色豆荚豌豆的花粉,所结出数是个豆荚的颜色及比应是,A.绿色:黄色=1:1 B.绿色:黄色=3:1 C.全部为黄色 D.全部为绿色
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘