Delphi/C++ Builder拥有数组和FireDAC的InterBase数据库
程序员文章站
2023-12-22 16:36:58
...
长久以来,InterBase数据库一直提供使用数组的可能性。
什么是数组?
数组是一列中相同类型的一维或多维数据存储。这些可以与除BLOB之外的所有标准数据类型一起用于InterBase。
什么时候应该使用/什么时候不使用?
数组可以很容易地定义。但是您应该注意何时使用它们以及何时应该变得更好:
- 数组的数据类型相同
- 数组的数据用作逻辑(数据属于同一类)和物理(一列存储;在公共事务控制下)单元。
优点是由于事务控制而减少了负载:您可以在单个事务中简单地读取并保存一张颈椎枕数据幻灯片(一维/多维)到数组中。后者可能会带来明显的性能优势
数组的应用完成作为的扩展CREATE TABLE
或CREATE DOMAIN
:
CREATE TABLE TBL_ARRAY
(
ID INTEGER,
TICTACTOE BOOLEAN[1:3, 1:3]
);
此处在一列中定义了“井字游戏”字段。
带有/带有FireDAC,在Delphi IDE中看起来像这样:
(从数据浏览器查看)
在一个应用程序内。(普通DBGrid和3x3 DBCheckBox)
应该注意的是,首先要遍历数组中的行/行,然后是列/列。例如,Fortran期望列/行顺序。
从柏林10.1开始,DBGrid还可以正确显示一个数组!
程序对数组元素的访问
可以通过基于0的元素直接访问数组元素。在这里交替:
Tbl_arrayTable.Edit;
Tbl_arrayTable.FieldByName('TICTACTOE[0]').Value := NOT Tbl_arrayTable.FieldByName('TICTACTOE[0]').AsBoolean;
有什么要考虑的?
不幸的是,InterBase控制台无法显示数组:欢迎加入Delphi知识局QQ群:32422310