Delphi开发经验四则(3) with DataSource1 do begin DataSet:=CreateTableInMemory(ADataSet.FieldDefs); DataSet.Open; end; ADataSet.Free; end; 这样,临时表就创建完成。 方法1使用简单,但由于利用了查询控件,清空数据时需要查询服务器后台数据库,所以速度稍慢,而且不适用于临时表中各个字段由几个数据表的字段拼凑而成的情况。方法2适用范围广、速度快,但需要编写代码。 在InterBase数据库中使用函数 程序员可能在用InterBase作为后台数据库时,常会为其提供的函数过少而感到使用不便(只有四个),无法方便地编写出复杂的存储过程。InterBase本身无法编写函数,但它可以使用外部函数(调用DLL中的函数)。下例中说明如何在InterBase 中声明SUBSTR函数。 DECLARE EXTERNAL FUNCTION SUBSTR CSTRING(80), SMALLINT, SMALLINT RETURNS CSTRING(80) ENTRY_POINT "IB_UDF_substr" MODULE_NAME "ib_udf" 其中:MODULE_NAME为DLL的名称,ENTRY_POINT为函数名。 声明后便可以使用,例如: select SUBSTR(country) from country 本例使用的是Delphi安装时自带的IBLocal数据库,用户也可以自己编写函数来扩充InterBase。