当前位置: 首页 > news >正文

FireDAC 之FDMetaInfoQuery

FDMetaInfoQuery

http://docs.embarcadero.com/products/rad_studio/firedac/frames.html

http://docwiki.embarcadero.com/RADStudio/XE7/en/Metadata_Structure_(FireDAC)

FireDAC 查询数据库表、存储过程、字段信息等

MetaInfoKind属性有17种类型,获取数据库名称、表、字段、主键等信息。强大强大,不用写sql语句

mkNone
mkCatalogs
mkSchemas
mkTables
mkTableFields
mkIndexes
mkIndexFields
mkPrimaryKey
mkPrimaryKeyFields
mkForeignKeys
mkForeignKeyFields
mkPackages
mkProcs
mkProcArgs
mkGenerators
mkResultSetFields
mkTableTypeFields

 

 FDMetaInfoQuery1->MetaInfoKind = mkTables;
 FDMetaInfoQuery1->Open();

 

FDMetaInfoQuery1->MetaInfoKind = mkTableFields;
 FDMetaInfoQuery1->Open(edtTableName->Text);

 

 FDMetaInfoQuery1->MetaInfoKind = mkPrimaryKey;
 FDMetaInfoQuery1->Open(edtTableName->Text);

 

 FDMetaInfoQuery1->MetaInfoKind = mkPrimaryKeyFields;
 FDMetaInfoQuery1->Open(edtTableName->Text,PKName); ?? 怎么赋值参数

 

 

  AMIQ.CatalogName := edtCatalog.Text;
  AMIQ.SchemaName := edtSchema.Text;
  AMIQ.ObjectScopes := os;
  AMIQ.TableKinds := tk;

 

  miIndexFields.CatalogName := FixName(miIndexes.FieldByName('CATALOG_NAME').AsString);
  miIndexFields.SchemaName := FixName(miIndexes.FieldByName('SCHEMA_NAME').AsString);
  miIndexFields.BaseObjectName := FixName(miIndexes.FieldByName('TABLE_NAME').AsString);
  miIndexFields.ObjectName := FixName(miIndexes.FieldByName('INDEX_NAME').AsString);
  miIndexFields.Open;

 

 TFDConnection.GetTableNames('', '', '', lbxTables.Items);

TFDConnection.GetFieldNames('', '', Items[ItemIndex], '', lbxFields.Items);
TFDConnection.GetKeyFieldNames('', '', Items[ItemIndex], '', lbxKeyFields.Items);

转载于:https://www.cnblogs.com/cb168/p/4288512.html

相关文章:

  • GIT操作笔记
  • DevExpress随笔系列
  • 4.2 HTML Canvas标签
  • java对象占用内存大小计算方式
  • iOS开发之oc(六)--点语法
  • Sample SecondarySort 浅析
  • 导入项目时Loading descriptor ...
  • 【BZOJ】【2940】【POI2000】条纹
  • IOS开发基础知识--碎片8
  • 远程debug WebSphere 和 Watch时提示error(s)_during_the_evaluation
  • javascirpt怎样模仿块级作用域(js高程笔记)
  • python 多线程编程
  • 一:Html基本结构
  • ETL的考虑
  • sass学习(2)——关于变量
  • [deviceone开发]-do_Webview的基本示例
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • 【391天】每日项目总结系列128(2018.03.03)
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • javascript从右向左截取指定位数字符的3种方法
  • JavaScript函数式编程(一)
  • Laravel5.4 Queues队列学习
  • mongodb--安装和初步使用教程
  • mysql_config not found
  • MySQL的数据类型
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • PHP CLI应用的调试原理
  • Vue 2.3、2.4 知识点小结
  • VuePress 静态网站生成
  • Vue官网教程学习过程中值得记录的一些事情
  • yii2中session跨域名的问题
  • 对象管理器(defineProperty)学习笔记
  • 关于springcloud Gateway中的限流
  • 回流、重绘及其优化
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 让你的分享飞起来——极光推出社会化分享组件
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • 新手搭建网站的主要流程
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • 阿里云IoT边缘计算助力企业零改造实现远程运维 ...
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • ​​快速排序(四)——挖坑法,前后指针法与非递归
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (2)(2.10) LTM telemetry
  • (2)MFC+openGL单文档框架glFrame
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • (转)c++ std::pair 与 std::make
  • ***原理与防范
  • *上位机的定义
  • .NET 8.0 发布到 IIS