提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
FIBPlus是一款使用方便、用途广泛的库文件,可用于Delphi, C++ Builder, Kylix组件开发
标签:开发商: Devrace
当前版本: 7.5
产品类型:控件
产品功能:数据库管理工具
平台语言:VCL|C++/ MFC|其他
开源水平:不提供源码
本产品的分类与介绍仅供参考,具体以商家网站介绍为准,如有疑问请来电 023-68661681 咨询。
New features and enhancements:
1. A new TpFIBScripter component has been added.
It has the following properties:
property Script:TStrings ; - stores a text of the script.
property Database: TpFIBDatabase; - stores the connection, where the script will be executed. You should not define this property if the script has the CREATE DATABASE command.
property Transaction: TpFIBTransaction ; - stores the transaction where the script will be executed. As the TpFIBScripter component can control transactions, you should not always define the Transaction: TpFIBTransaction property value.
property AutoDDL: boolean – defines whether to call Commit automatically after each DDL command when the script is being executed.
property Paused: Boolean – enables the developer to stop the script execution in TpFIBScripter event handlers.
property StopStatementNo – returns the number of the command where the user stopped the script execution.
TpFIBScripter methods:
Procedure Parse(Terminator: Char = ';') – parses the script, defined in the Script: TStrings property. The argument is the command separator (by default it is a semicolon “;”).
procedure ExecuteScript (FromStmt: integer = 1); - executes the script defined in the Script: TStrings property. The argument is the number of the command which starts the execution.
procedure ExecuteFromFile (const FileName: string;Terminator: Char = ';'); - executes the script stored in the external file FileName. The full script text is not loaded in memory, the file is read line by line before the complete command is formed. When the command is ready, it’s executed and it’s text is deleted from memory. This approach enables you to execute very huge scripts.
function GetStatement (StmtNo: integer; Text: TStrings): PStatementDesc – enables you to get information about the command by its number позволяет (you should call the Parse method before it). The function returns a pointer to the PStatementDesc structure, which stores information about the command.
TpFIBScripter events:
property BeforeStatementExecute: TOnStatementExecute;
property AfterStatementExecute: TOnStatementExecute;
where
TOnStatementExecute = procedure(Sender: TObject; Line: Integer; StatementNo: Integer; Desc: TStatementDesc; Statement: TStrings);
The events are called before/after the every command execution.
property OnExecuteError: TOnSQLScriptExecError;
where
TOnSQLScriptExecError = procedure(Sender: TObject; StatementNo: Integer; Line: Integer; Statement: TStrings; SQLCode: Integer; const Msg: string; var doRollBack: boolean; var Stop: Boolean) of object;
The event happens if the current command was executed with errors.
An example.
var scr: TpFIBScripter;
begin
scr := TpFIBScripter.Create(nil);
try
Scr.Script.Text := MyScriptText;
Scr.ExecuteScript;
finally
scr.Free;
end;
end;
2. Now TpFIBDataSet has new methods:
procedure DisableMasterSource;
procedure EnableMasterSource;
function MasterSourceDisabled:boolean;
They are used to activate/deactivate the master-detail mode temporarily. For example:
DetailDataSet.DisableMasterSource;
try
MasterDataSet.Edit;
MasterDataSet.FieldByName('ID').asInteger:=NewValue;
MasterDataSet.Post;
ChangeDetailDataSetLinkField(NewValue);
finally
DetailDataSet.EnableMasterSource;
end;
and the detail dataset won’t reopen.
3. TpFIBDataSet has a new AutoUpdateOptions.UseExecuteBlock: Boolean property. It works only if CachedUpdates = True. If UseExecuteBlock is equal to True, then calling of ApplyUpdates and ApplyUpdToBase will generate queries with EXECUTE BLOCK. In other words changes made in the CachedUpdates mode will be sent to the database not for each record separately but in packages of 255 records.
4. Now FIBPlus supports CsMonitor (implemented by Yury Plotnikov). To use it you should activate the directive "CSMonitor" in FIBPlus.inc (only for the full FIBPlus version).
5. TpFIBDatabase has a new method: procedure ClearQueryCacheList.
6. The TFIBDataTimeField and TFIBTimeField fields have the ShowMsec: Boolean property. If it is set to True, time values with milliseconds will be shown in visual DB components.
7. The Locate method works significantly faster. To use this feature you should deactivate the directive {$DEFINE FAST_LOCATE} in FIBPlus.inc (only for the full FIBPlus version).
8. If the data is sorted, the Lookup method uses sorting to search for necessary values in TpFIBDateset.
9. Now if you use Select from procedure in Firebird 2.1 and input parameters are boolean or GUID, fields with corresponding types are created in TpFIBdataSet.
Bugs fixed:
1. Now UTF8 fields correctly work with InterBase 2007.
2. The CancelUpdates logic of TpFIBDataSet has been changed. When you called the CancelUpdates method in the CachedUpdates mode, FIBPlus restored field values which remained just before canceling. For example, if you first edited the record and then deleted it, you got changed field values instead of the original ones after calling CancelUpdates.
3. Unicode lookup-fields work correctly now.
4. An error in the TpFIBDataSet.CloneRecord method appeared if there were deleted records. Fixed.
5. The current record was positioned in the wrong place if the Refresh method was called automatically after record deleting (if the poRefreshDeleted option was active). Fixed.
6. Now internal transaction parameters work correctly for Firebird 2.1.
7. Now TSIBfibEventAlerter correctly registers events. This component operated improperly when TSIBfibEventAlerter and TpFIBDatabase were placed on different forms.
8. Now the procedure TFIBLargeIntField.SetVarValue(const Value: Variant) method operates rightly. It worked incorrectly when it had an input NULL value.
新特性和改进:
1. 增加了新的 TpFIBScripter 组件。
它有下列属性:
属性 Script:TStrings ; ——存储脚本的文本。
属性 Database: TpFIBDatabase; ——存储脚本执行的连接。如果脚本有 CREATE DATABASE 命令,应该定义该属性。
属性 Transaction: TpFIBTransaction ; ——存储脚本执行的事务。由于 TpFIBScripter 组件可以控制事务,不应该总是定义该 Transaction: TpFIBTransaction 属性值。
属性 AutoDDL: boolean ——定义是否当脚本被执行时,在每个 DLL 命令后自动调用 Commit。
属性 Paused: Boolean ——使开发者在 TpFIBScripter 事件句柄中停止脚本执行。
属性 StopStatementNo ——在用户停止脚本执行处返回命令数。
TpFIBScripter 方法:
过程 Parse(Terminator: Char = ';') ——解析脚本,该脚本在 Script: TStrings 属性中定义。参数是命令分隔符(默认为分号“;”)。
过程 ExecuteScript (FromStmt: integer = 1); ——执行脚本,该脚本在 Script: TStrings 属性中定义。参数是开始执行的命令数。
过程 ExecuteFromFile (const FileName: string;Terminator: Char = ';'); ——执行脚本,该脚本存储在外部文件 FileName。完整脚本不载入内存,在完整命令形成前,文件逐行读出。当命令准备完毕,它被执行,然后命令文本从内存中被删除。该方法使你可以运行十分大的脚本。
函数 GetStatement (StmtNo: integer; Text: TStrings): PStatementDesc ——使你通过它的数字 позволяет 获得关于命令的信息(你应该在其之前调用 Parse 方法)。该函数返回一个指向 PStatementDesc 结构的指针,存储关于命令的信息。
TpFIBScripter 事件:
属性 BeforeStatementExecute: TOnStatementExecute;
属性 AfterStatementExecute: TOnStatementExecute;
where
TOnStatementExecute = procedure(Sender: TObject; Line: Integer; StatementNo: Integer; Desc: TStatementDesc; Statement: TStrings);
这些事件在每个命令执行前/后调用。
属性 OnExecuteError: TOnSQLScriptExecError;
where
TOnSQLScriptExecError = procedure(Sender: TObject; StatementNo: Integer; Line: Integer; Statement: TStrings; SQLCode: Integer; const Msg: string; var doRollBack: boolean; var Stop: Boolean) of object;
如果当前命令执行带有错误,该事件产生。
一个例子。
var scr: TpFIBScripter;
begin
scr := TpFIBScripter.Create(nil);
try
Scr.Script.Text := MyScriptText;
Scr.ExecuteScript;
finally
scr.Free;
end;
end;
2. TpFIBDataSet 有新的方法:
过程 DisableMasterSource;
过程 EnableMasterSource;
函数 MasterSourceDisabled:boolean;
它们被用来暂时激活/解除激活 master-detail 模式。例如:
DetailDataSet.DisableMasterSource;
try
MasterDataSet.Edit;
MasterDataSet.FieldByName('ID').asInteger:=NewValue;
MasterDataSet.Post;
ChangeDetailDataSetLinkField(NewValue);
finally
DetailDataSet.EnableMasterSource;
end;
细节数据集不会重复打开。
3. TpFIBDataSet 有新的 AutoUpdateOptions.UseExecuteBlock: Boolean 属性。它仅当CachedUpdates = True 时工作。如果 UseExecuteBlock 等于 True,调用 ApplyUpdates 和 ApplyUpdToBase 将会产生带有 EXECUTE BLOCK 的查询。也就是说,CachedUpdates 模式下做的改变将会发送到数据库,不是单独给每个记录,而是给包含255个记录的包。
4. FIBPlus 支持 CsMonitor (由Yury Plotnikov 实现)。要使用它,应当激活 FIBPlus.inc 中的“CSMonitor”指示(仅适用于完整的 FIBPlus 版本)。
5. TpFIBDatabase 有新的方法:过程 ClearQueryCacheList。
6. TFIBDataTimeField 和 TFIBTimeField 域有 ShowMsec: Boolean 属性。如果设置为 True,带有毫秒的时间值将会在视觉 DB 组件中显示。
7. Locate 方法运行显著加快。使用该特性,你应该取消激活 FIBPlus.inc 中的指示 {$DEFINE FAST_LOCATE} (仅适用于完整的 FIBPlus 版本)。
8. 如果数据被存储,Lookup 方法使用排序在 TpFIBDateset 中寻找所需值。
9. 现在,如果你在 Firebird 2.1 中使用 Select from 过程,输入布尔或 GUID 参数,对应类型的域将在 TpFIBdataSet 中创建。
错误修正:
1. UTF8 域在 InterBase 2007 中正常运行。
2. TpFIBDataSet 的 CancelUpdates 逻辑被改变。当在 CachedUpdates 模式中调用 CancelUpdates 方法时,FIBPlus 恢复取消前的域值。例如,如果你先编辑记录之后删除,你在调用 CancelUpdates 后获得修改的值而不是原始值。
3. Unicode lookup-fields 正常工作。
4. 修正了 TpFIBDataSet.CloneRecord 方法中在有删除的记录时出现的错误。
5. 如果在删除记录后(如果 poRefreshDeleted 选项被激活)Refresh 方法自动调用,当前记录被放置在错误位置 。已修正。
6. 内部事务参数在 Firebird 2.1 正常工作。
7. TSIBfibEventAlerter 正确注册事件。当 TSIBfibEventAlerter 和 TpFIBDatabase 被放置到不同表单时,该组件曾不能正常运行。
8. 过程 TFIBLargeIntField.SetVarValue(const Value: Variant) 方法正确运行。当有 NULL 值输入时,它曾不能正常工作。
更新时间:2013-12-11 13:10:05.000 | 录入时间:2007-07-03 09:52:00.000 | 责任编辑:
dbForge Studio for SQL Server是用于SQL Server的终极管理工具。
Navicat PremiumNavicat Premium 是一套数据库管理工具,让你使用一个程序即可同時连接到 MySQL、MariaDB、SQL Server、SQLite、Oracle 和 PostgreSQL 数据库。
Navicat for MongoDB一套专用于管理和开发MongoDB数据库的开发工具。
Navicat for Redis一套专用于可视化和优化 Redis 数据的开发工具。
Redis Desktop Manager跨平台开源 Redis ® 管理工具
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢