C.DLL--连接数据库(动态生成)---查询1---查询2
2个查询动态生成的adoquery都连接的动态生成的TADOConnectionvar setdm:TADOConnection;
procedure DBconnect(str:string);stdcall;
begin
setdm:=TADOConnection.Create(nil);
setdm.LoginPrompt:=False;
setdm.Connected:=False;
setdm.ConnectionString:=str;
setdm.Connected:=true;
end;
\\查询1
function Inquiry(User,pwd:string):Boolean;stdcall;
var
str:string;
qryshow:Tadoquery;
begin
str:='Select UserName,PassWord From UserData Where UserName=%s and password=%s';
qryshow:=Tadoquery.Create(nil);
qryshow.Connection:=setdm;
with qryshow do
begin
Close;
SQL.Clear;
SQL.Add(format(str,[QuotedStr(User),QuotedStr(pwd)]));
Open;
begin
if bof and eof then
Result:=False
else
Result:=True;
end;
end;
end;\\查询2
procedure reminset(S:TDBGrid);stdcall;
var
ds:Tdatasource;
qryRemind:Tadoquery;
str:string;
begin
qryRemind:=TADOQuery.Create(nil);
qryRemind.Connection:=setdm;
ds:=TDataSource.Create(nil);
ds.DataSet:=qryRemind;
s.DataSource:=ds;
str:='select * from Userdata';
with qryRemind do
begin
Close;
SQL.Clear;
sql.Add(str);
Open;
end;
end;A.EXE 查询1 DBconnect(str) 打开B.DLL(DLL窗体)
没有问题B.DLL 查询2 出错
2个查询动态生成的adoquery都连接的动态生成的TADOConnectionvar setdm:TADOConnection;
procedure DBconnect(str:string);stdcall;
begin
setdm:=TADOConnection.Create(nil);
setdm.LoginPrompt:=False;
setdm.Connected:=False;
setdm.ConnectionString:=str;
setdm.Connected:=true;
end;
\\查询1
function Inquiry(User,pwd:string):Boolean;stdcall;
var
str:string;
qryshow:Tadoquery;
begin
str:='Select UserName,PassWord From UserData Where UserName=%s and password=%s';
qryshow:=Tadoquery.Create(nil);
qryshow.Connection:=setdm;
with qryshow do
begin
Close;
SQL.Clear;
SQL.Add(format(str,[QuotedStr(User),QuotedStr(pwd)]));
Open;
begin
if bof and eof then
Result:=False
else
Result:=True;
end;
end;
end;\\查询2
procedure reminset(S:TDBGrid);stdcall;
var
ds:Tdatasource;
qryRemind:Tadoquery;
str:string;
begin
qryRemind:=TADOQuery.Create(nil);
qryRemind.Connection:=setdm;
ds:=TDataSource.Create(nil);
ds.DataSet:=qryRemind;
s.DataSource:=ds;
str:='select * from Userdata';
with qryRemind do
begin
Close;
SQL.Clear;
sql.Add(str);
Open;
end;
end;A.EXE 查询1 DBconnect(str) 打开B.DLL(DLL窗体)
没有问题B.DLL 查询2 出错
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货