使用代码创建一个kbmMemTable数据表
2008-04-06 23:54
489 查看
在程序中,有时表结构可能是未知的,这时就不能事先创建好一个表了,使用如下代码可动态创建一个内存表:
with kbmMemTable1 do
begin
Close;
MasterSource:=nil;
// Define data fields.
with kbmMemTable1.FieldDefs do
begin
Clear;
Add('Period', ftInteger, 0, false);
Add('VALUE', ftInteger, 0, false);
Add('String', ftString, 30, false);
Add('BytesField', ftBytes, 20, false);
Add('Color', ftInteger, 0, false);
Add('Date', ftDate, 0, false);
Add('Bool', ftBoolean, 0, false);
Add('Memo', ftMemo, 0, false);
Add('AutoInc', ftAutoInc,0,false);
Add('Currency',ftCurrency,0,false);
end;
// 定义索引字段
with kbmMemTable1.IndexDefs do
begin
Clear;
Add('Period','PERIOD',[]);
Add('Index1','VALUE',[ixdescending]);
Add('StringIndex','String',[]);
Add('combined','PERIOD;VALUE',[]);
Add('descending','PERIOD',[ixDescending]);
// Add('Index2','Color;Period',[]);
end;
// 创建表
CreateTable;
//显示格式
TCurrencyField(FieldByName('Currency')).DisplayFormat:='$###0.00';
// 设置字段事件.
with FieldByName('BytesField') do
begin
OnSetText:=kbmMemTable1BytesFieldSetText;
OnGetText:=kbmMemTable1BytesFieldGetText;
end;
// 索引及排序
IndexFieldNames := 'VALUE';
end;
with kbmMemTable1 do
begin
Close;
MasterSource:=nil;
// Define data fields.
with kbmMemTable1.FieldDefs do
begin
Clear;
Add('Period', ftInteger, 0, false);
Add('VALUE', ftInteger, 0, false);
Add('String', ftString, 30, false);
Add('BytesField', ftBytes, 20, false);
Add('Color', ftInteger, 0, false);
Add('Date', ftDate, 0, false);
Add('Bool', ftBoolean, 0, false);
Add('Memo', ftMemo, 0, false);
Add('AutoInc', ftAutoInc,0,false);
Add('Currency',ftCurrency,0,false);
end;
// 定义索引字段
with kbmMemTable1.IndexDefs do
begin
Clear;
Add('Period','PERIOD',[]);
Add('Index1','VALUE',[ixdescending]);
Add('StringIndex','String',[]);
Add('combined','PERIOD;VALUE',[]);
Add('descending','PERIOD',[ixDescending]);
// Add('Index2','Color;Period',[]);
end;
// 创建表
CreateTable;
//显示格式
TCurrencyField(FieldByName('Currency')).DisplayFormat:='$###0.00';
// 设置字段事件.
with FieldByName('BytesField') do
begin
OnSetText:=kbmMemTable1BytesFieldSetText;
OnGetText:=kbmMemTable1BytesFieldGetText;
end;
// 索引及排序
IndexFieldNames := 'VALUE';
end;
相关文章推荐
- 大数据:通过Mesos、Docker和Go,使用300行代码创建一个分布式系统
- (转载)使用SQL-Server创建一个银行数据管理系统Ⅰ
- 使用少于500行的代码创建一个webserver
- 0903使用pipe函数创建一个匿名管道,并使用write向管道的一端写入数据
- 通过Mesos、Docker和Go,使用300行代码创建一个分布式系统
- 【iOS开展-50】使用它来创建一个新的类的实现代码包,因此,不自觉地练习简单MVC实验,附带动画
- 通过 Mesos、Docker 和 Go,使用 300 行代码创建一个分布式系统
- 关于在代码里面使用同一个Session创建的同一个DATAQUERY
- 创建数据库后支持的模型被更改,考虑使用代码优先更新数据库
- 使用java调用C语言的方法,让java获取串口数据并生成一个String对象的代码。
- 在 MySQL Workbench 中如何可视的建立 MySQL 物理数据模型,并使用它来创建一个 MySQL 数据库
- iOS开发使用代码创建一个Label控件
- 17.1.1.6 Creating a Data Snapshot Using Raw Data Files 创建一个数据快照使用 Raw Data Files
- 一个使用c++在lua中创建自定义数据类型的简易方法
- HIVE的安装配置、mysql的安装、hive创建表、创建分区、修改表等内容、hive beeline使用、HIVE的四种数据导入方式、使用Java代码执行hive的sql命令
- [转]通过Mesos、Docker和Go,使用300行代码创建一个分布式系统
- 使用jQuery动态创建一个表格(根据用户输入的内容添加一行数据,并且能逐行删除)
- 写了一个使用代码创建Silverlight的函数
- 在Java导出数据创建excel表时候出现json对话框或者出现一个带有js代码的东西
- 使用jQuery动态创建一个表格,根据用户数输入的内容添加一行数据