导航:
论坛 -> 数据库专区
斑竹:liumazi,waterstone
作者:
2016/11/30 15:24:33
标题:
Sqlite 中使用PRAGMA 怎么执行及返回数据集
浏览:2681
加入我的收藏
楼主:
使用FireDAC连接Sqlite数据库,现在需要执行PRAGMA table_info(Mytable),使用FDquery不行,请问FireDAC怎样执行该命令并返回数据集,谢谢
----------------------------------------------
-
作者:
2016/12/1 17:59:12
1楼:
表名称加双引号就可以了: FDQuery1.Open('PRAGMA table_info("Customers");');
此帖子包含附件: 大小: 54.7K
----------------------------------------------
Delphi4Linux Delphi三层/FireDAC 技术群:734515869 http://www.cnblogs.com/rtcmw
作者:
2016/12/1 18:12:41
2楼:
FireDAC有专门的查询Meta的控件-TFDMetaInfoQuery with FDMetaInfoQuery1 do begin Connection := FDConnection1; MetaInfoKind := mkTables; Open; for I := 0 to Table.Rows.Count - 1 do begin ColumnName := Table.Rows[I].AsString['COLUMN_NAME']; ColumnType := Table.Rows[I].AsString['COLUMN_TYPENAME']; ColumnLength := StrToIntDef(Table.Rows[I].AsString['COLUMN_LENGTH'], 0); // .......... end; end;
此帖子包含附件: 大小: 63.1K
----------------------------------------------
Delphi4Linux Delphi三层/FireDAC 技术群:734515869 http://www.cnblogs.com/rtcmw
作者:
2016/12/1 21:42:07
3楼:
非常感谢earthsbest (全能中间件),就是是个双引号问题,我去看了FireDAC.phys.SQliteMeta中的代码片段,明白了,在使用FDMetaInfoQuery中,MetaInfoKind定义为mkPrimaryKey, mkPrimaryKeyFields,这两个没搞懂是什么,这时如何定义ObjectName,BaseObjectName。还有使用FDMetaInfoQuery如何获得表中的主键和NotNULL。
此帖子包含附件: 大小: 47.8K
----------------------------------------------
-
作者:
2016/12/2 12:07:17
4楼:
Metadata 的结构看这里: http://docwiki.embarcadero.com/RADStudio/Berlin/en/Metadata_Structure_(FireDAC)
----------------------------------------------
Delphi4Linux Delphi三层/FireDAC 技术群:734515869 http://www.cnblogs.com/rtcmw