首先 把数据库操作都封装在 dll里面。包含数据库链接 等等
问题是:
如何在主程序中调用这个dll 返回一个数据集?? 比如返回 adoquery 等等补充说明: 不想在主程序中再去设置数据库链接及其数据库操作。调用方式如下: CallRecord 就可以返回一个数据集
问题是:
如何在主程序中调用这个dll 返回一个数据集?? 比如返回 adoquery 等等补充说明: 不想在主程序中再去设置数据库链接及其数据库操作。调用方式如下: CallRecord 就可以返回一个数据集
begin
Result := ADOQuery1;
end;procedure GetData(var qtr: TADOQuery);
begin
with qtr do
begin
... ... do anythings
end;
end;
你传递到dll中的 qtr: TADOQuery 在主程序中还并没有链接 adoconn
我的adoconn还在 dll中。
我是这样写的。
function Test_GetAllRecord(ADOQueryF: TADOQuery): boolean;
var
FF : TFF;
s:string;
begin
Result := false;
FF := TFF.Create; //这里是ado的初始化,含链接数据库==
try
with ADOQueryF do
begin
Connection:= FF.Adoconnection; //打算把传递进来的ado建立conn
Close;
SQL.Clear;
SQL.Text:= 'Select * MyTable Forum where status=1';
Open;
end;
Result := true;
finally
FF.Free;
end;
end;主程序中
FForum_GetAllRecord(ADOQuery3); //ADOQuery3 是主程序中已经画好了的一个控件
DataSource1.DataSet:=ADOQuery3; //运行的时候 这里提示:对象关闭,不允许操作关闭程序的时候要出错
function Test_GetAllRecord(var ADOQueryF: TADOQuery): boolean;
依然出现相同的问题