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

 我来答
大沈他次苹0B
2022-10-16 · TA获得超过7286个赞
知道大有可为答主
回答量:3059
采纳率:100%
帮助的人:172万
展开全部

   获取数据域和索引信息

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

以下是引用片段   procedure TDataSet GetFieldNames(List: TStrings);   procedure TTable GetIndexNames(List: TStrings);

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

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

  TFieldDef描述如下

  TIndexDef描述如下

  TFieldType定义如下

以下是引用片段   TFieldType = (ftUnknown  ftString  ftSmallint  ftInteger  ftWord  ftBoolean   ftFloat ftCurrency  ftBCD  ftDate  ftTime  ftDateTime  ftBytes  ftVarBytes   ftAutoInc ftBlob  ftMemo  ftGraphic  ftFmtMemo  ftParadoxOle  ftDBaseOle   ftTypedBinary ftCursor);

  TIndexOptions定义如下

以下是引用片段 TIndexOptions = set of (ixPrimary  ixUnique  ixDescending  ixExpression  ixCaseInsensitive);

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

   应用实例

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

以下是引用片段 Var  Alias TableName:String Table :TTable Begin Alias:= fjs   TableName:= d*     //初始化 Session GetTableNames(Alias {别名}                       TableName {过滤器}                       True {是否显示文件扩展名(对DBF) }                       False {是否显示系统表}                       ListBox Items) If ListBox Items Count= then   Begin     MessageDlg( 数据库 +Alias+ 中没有数据表 +TableName mtError [mbOK] )   Exit End Table :=TTable Create(nil) Table DatabaseName :=Alias Table TableName := ListBox Items Strings[ ] {取得表中字段名及索引名} Table Open if Table Active then begin Table GetFieldNames(ListBox Items)    Table GetIndexNames(ListBox Items) end //… 此时结果在ListBox 和ListBox 中 // Table Destroy end

   小结

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

   参考文献

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

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

  [ ] 大富翁 // delphibbs /

  收稿日期 月 日 修改日期 月 日

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

lishixinzhi/Article/program/Delphi/201311/8543

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式