应该和adoquery无关,可能和没有初始化com环境有关试试在dll中加入uses activex;
initialization
OleInitialize(nil);
finalization
OleUninitialize;
请大家去 http://www.new7wonders.com/c/voting.php 投长城一票
initialization
OleInitialize(nil);
finalization
OleUninitialize;
请大家去 http://www.new7wonders.com/c/voting.php 投长城一票
SysUtils,dialogs,adodb,activeX,
Classes;procedure mainfunc(cnstring:string);stdcall;
var myado:tadoquery;
s:string;
i:integer;
begin
myado:=tadoquery.Create(nil); myado.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\myaccess\myaccess.mdb;Persist Security Info=False';
with myado do
begin
close;
sql.Clear;
sql.Add('select * from order_info');
open;
first;
while not eof do
begin
for i:=0 to fieldcount-1 do
s:=s+Fields[i].AsString;
next;
end;
end;
showmessage(s);
end;exports
mainfunc;{$R *.res}begin
end.initialization
OleInitialize(nil);
finalization
OleUninitialize;
library moduleab;uses
SysUtils,dialogs,adodb,
Classes;procedure mainfunc(cnstring:string);stdcall;
var myado:tadoquery;
s:string;
i:integer;
begin
myado:=tadoquery.Create(nil); myado.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\myaccess\myaccess.mdb;Persist Security Info=False';
with myado do
begin
close;
sql.Clear;
sql.Add('select * from order_info');
open;
first;
while not eof do
begin
for i:=0 to fieldcount-1 do
s:=s+Fields[i].AsString;
next;
end;
end;
showmessage(s);
end;exports
mainfunc;{$R *.res}begin
end.