请各位高手指点:
小弟想要在一个DLL中连接SQL数据库,但一直不能成功,请各位老大指点一下!function CallIn(ch:Integer): Integer; stdcall;
var
Query1:TADOQuery;
begin
Result:=0;
try
Query1:=TADOQuery.Create(nil);
Query1.ConnectionString:='';
Query1.Active:=true;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select top 1 * from ivr_cdr');
Query1.ExecSQL; Result:=Query1.fieldbyname('caller').Value finally
end;
end;exports
CallIn;
小弟想要在一个DLL中连接SQL数据库,但一直不能成功,请各位老大指点一下!function CallIn(ch:Integer): Integer; stdcall;
var
Query1:TADOQuery;
begin
Result:=0;
try
Query1:=TADOQuery.Create(nil);
Query1.ConnectionString:='';
Query1.Active:=true;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select top 1 * from ivr_cdr');
Query1.ExecSQL; Result:=Query1.fieldbyname('caller').Value finally
end;
end;exports
CallIn;
var
Query1:TADOQuery;
begin
Result:=0;//删除,多余
try
Query1:=TADOQuery.Create(nil);
Query1.ConnectionString:='';//error,没有指定的连接
Query1.Active:=true; //error ,此时Query1.sql.text='',不能激活
Query1.Close; //删除,多余
Query1.SQL.Clear; //删除,多余
Query1.SQL.Add('select top 1 * from ivr_cdr');
Query1.ExecSQL; //不返回结果集,错误,Query1.Open; Result:=Query1.fieldbyname('caller').Value finally
end;
end;exports
CallIn;
初学问题太多,先在Exe中调试通过,再改写成dll
var
Query1:TADOQuery;
begin
Query1:=TADOQuery.Create(nil);
try
// Query1.Connection:=?
Query1.ConnectionString:=?;
Query1.SQL.Add('select top 1 * from ivr_cdr');
Query1.Open;
Result:=Query1.fieldbyname('caller').Value finally
Adoquery1.free;
end;
end;exports
CallIn;
初学问题太多,先在Exe中调试通过,再改写成dll
finally
Query1.Free;
end;
try
Query1:=TADOQuery.Create(nil);
Query1.ConnectionString:='';
Query1.Active:=true;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select top 1 * from ivr_cdr');
Query1.Open ; Result:=Query1.fieldbyname('caller').Value finally
Query1.free;
end;用OPEN试试,还有你这样做会增加SQL的连接数,如果你的SQL达到你的限制数也会查询不成功!
在我调试的时候Query1.ConnectionString:='';这里是指向我本地数据库的,测试链接是成功的。
但在测试DLL的程序中,Query1:=TADOQuery.Create(nil);这里已经报错了。