十分头痛,关于用Delphi制作ASP组件参数传递问题(50分)

  • 主题发起人 主题发起人 devecom
  • 开始时间 开始时间
D

devecom

Unregistered / Unconfirmed
GUEST, unregistred user!
我用Delphi写了一个ASP组件,因为有特殊要求,所以需要传递一些连接串和SQL语句
给组件,我用的参数类型全部时PChar,没有用到String,但是总出现一个问题,狠头痛:

错误 '8000ffff'
必须加载一个 dll。

这是什么原因?帮我看看,需要源码我可以提供,很简单
 
你动态指定connectionString试试
 
动态静态我都试过了,我甚至去掉了参数的传递,把ConnectionString和SQl都写死在DLL
中还是出错,我不知道是不是使用ADODataSet执行SQL语句除了问题,但我在设计的时候
ADODataSet.Active := true却没有错误
但我写了另外一个属性 ,RecCount,返回这条语句的到的纪录数
if not ADODataSet.Active then
RecCount := 0
else
RecCount := ADODataSet.RecordCount;
我通过
response.write AASPObj.RecCount
却能正确的得到是0,因为这时候ADODataSet 没有打开

也就是说原因有可能是出在DataModule里面?
但我觉得不大可能,我很正规写的DataModule,就是用了一个ADODataSet.

怎么会错了?
必须加载DLL ?加载什么DLL ?
 
但是很奇怪,我这儿没有出这样的错
 
to
悲酥清风 :

我把程序给你吧,很简单的
帮我看看
 
不是参数的问题,是过程的问题,也就是如果我直接返回一个值没有错误,但
我在里面打开ADODataSet却出了错误

function TDM.OpenADODS(AConnStr, ASQLStr: String) : integer;
begin
//
if ADODS.Active then
ADODS.Active := false;
with ADODS do
begin
// ConnectionString := AConnStr;
// CommandText := ASQLStr;
try
Active := true;
Result := 1;
exit;
except
Result := 0;
exit;
end;
end;
end;

//ConnectionString和CommandText我已经写死了
 
是不是要初始化一些ADO的COM对象?
 
我找到了原因,是DataModule没有初始化,但是怎么初始化呢?
我是菜鸟阿
 
原因是我没初始化就调用 datamodule
 
后退
顶部