其他语言

位置:IT落伍者 >> 其他语言 >> 浏览文章

Delphi开发工具中如何访问数据库结构[2]


发布日期:2019年03月26日
 
Delphi开发工具中如何访问数据库结构[2]

获取数据域和索引信息

在取得了数据表信息后应使用TTable对象访问该数据表的具体信息对应函数如下

以下是引用片段

procedureTDataSetGetFieldNames(List:TStrings);

procedureTTableGetIndexNames(List:TStrings);

GetFieldNames用来取得数据表中的各个域名GetIndexNames用来取得数据表中的各个索引名

另外可以进一步使用TDataset和TTable中的两个属性TDataSetFieldDefsItems[] 和 TTableIndexDefsItems[]来访问具体的数据域信息和索引信息它们分别是由TFieldDef和TIndexDef组成的数组

TFieldDef描述如下

TIndexDef描述如下

TFieldType定义如下

以下是引用片段

TFieldType=(ftUnknownftStringftSmallintftIntegerftWordftBoolean

ftFloatftCurrencyftBCDftDateftTimeftDateTimeftBytesftVarBytes

ftAutoIncftBlobftMemoftGraphicftFmtMemoftParadoxOleftDBaseOle

ftTypedBinaryftCursor);

TIndexOptions定义如下

以下是引用片段

TIndexOptions=setof(ixPrimaryixUniqueixDescendingixExpressionixCaseInsensitive);

它们的具体意义可以参见Delphi帮助

应用实例

使用下面的程序片段即可获得指定数据库中指定表的域定义和索引定义ListBoxListBox 和 ListBox 为Form中定义的三个列表框用于显示结果

以下是引用片段

Var AliasTableName:StringTable:TTableBeginAlias:=fjs TableName:=d* //初始化SessionGetTableNames(Alias {别名} TableName {过滤器} True {是否显示文件扩展名(对DBF) } False {是否显示系统表} ListBoxItems)If ListBoxItemsCount= then Begin MessageDlg(数据库+Alias+中没有数据表+TableName mtError [mbOK] ) ExitEndTable:=TTableCreate(nil)TableDatabaseName :=AliasTableTableName := ListBoxItemsStrings[]{取得表中字段名及索引名}TableOpenif TableActive thenbeginTableGetFieldNames(ListBoxItems) TableGetIndexNames(ListBoxItems)end//… 此时结果在ListBox和ListBox中//TableDestroyend

小结

通过上面讨论和实例证明利用Delphi语言开发数据库软件管理系统关键技术都已得到解决

参考文献

[] (李维 编着)《DELPHI 高效数据库程序设计》机械工业出版社

[] 郭旭等 着《Delphi应用开发指南》清华大学出版社

[] 大富翁http://wwwdelphibbscom/

收稿日期日 修改日期

作者简介于海生年生于辽宁省丹东市黑龙江大庆人年毕业于辽宁化工大学计算机科学与技术专业助理工程师研究方向为钻井计算机软件开发与应用

[] []

               

上一篇:Delphi - 被廉价甩卖的传奇[2]

下一篇:Delphi开发工具中如何访问数据库结构[1]