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 出错
解决方案 »
- :用程序改变 windows外观(我改了注册表HKEY_CURRENT_USER\Control Panel\Appearance的内容,但是没有变化)
- 如何利用ClientDataSet的commandtext 属性动态查询? 在线等待
- 我搞不懂,2个问题。
- 在delphi中有没有象C++中的MemCpy函数,因为...
- 如何使窗体一运行就出现在屏幕顶端哪?圣诞快乐!
- 我编了一个数据库程序,我要到单位面试,我把他烤到软盘上,可到别的机子上还要设置才能运行,所以我想打包,怎么打包啊我的数据库表是用par
- 怎样将stringgrid里的数据导入数据库(高分)!!!!
- 如何创建托盘图标?????
- 这样的正则表达式要怎么写,在线等,跪求
- ^V^ 一个很菜的问题,还请您帮忙
- delphi 2009 2010 xe 如何使用md5
- 插入数据时,之前需要再查询条件,请教提高效率的方法。
CoInitialize(nil);
.......
CoUninitialize();
运行点击按钮出错 reminset(dbgrd1);
需要在DLL中添加
initialization
CoInitialize(nil);
finalization
CoUnInitialize;或是在调用DLL的程序内添加
initialization
CoInitialize(nil);
finalization
CoUnInitialize;