ADOSp.Parameters.Clear;
ADOSp.ProcedureName := 'select_midtable_ATMBank';
ADOSp.Parameters.CreateParameter('starttime', ftString, pdInput, 10, startTime);
ADOSp.Parameters.CreateParameter('endtime', ftString, pdInput, 10, endTime);
ADOSp.ExecProc;
k:=ADOSp.RecordCount;
当执行最后一句时报错,can't perform this operation on a closed
dataset,
请问我该如何得到recordCount?
ADOSp.ProcedureName := 'select_midtable_ATMBank';
ADOSp.Parameters.CreateParameter('starttime', ftString, pdInput, 10, startTime);
ADOSp.Parameters.CreateParameter('endtime', ftString, pdInput, 10, endTime);
ADOSp.ExecProc;
k:=ADOSp.RecordCount;
当执行最后一句时报错,can't perform this operation on a closed
dataset,
请问我该如何得到recordCount?
k:=ADOSp.RecordCount;
对于前面的,这句当然错了,,TADOStoredProc是连接StoredProc,不是数据集控件吧,怎么会有recordcount呢?这些从何而来?
你的存储过程有没有付值。
ADOSp.ProcedureName := 'select_midtable_ATMBank';
ADOSp.Parameters.CreateParameter('starttime', ftString, pdInput, 10, startTime);
ADOSp.Parameters.CreateParameter('endtime', ftString, pdInput, 10, endTime);
ADOSp.ExecProc;<------reason
k:=ADOSp.RecordCount; <----- must be Error
当执行最后一句时报错,can't perform this operation on a closed
dataset,
请问我该如何得到recordCount?
Modify:
ADOSp.Open;//OK
k:=ADOSp.RecordCount;//also OK
ADOSp.ProcedureName := 'select_midtable_ATMBank';
ADOSp.Parameters.CreateParameter('starttime', ftString, pdInput, 10, startTime);
ADOSp.Parameters.CreateParameter('endtime', ftString, pdInput, 10, endTime);
//把EXECPROC改成OPEN
ADOSp.open;
k:=ADOSp.RecordCount;
xiehua822(xiehua) :绝对没问题的,只要不带k:=ADOSp.RecordCount;就一切正常
zjy6631(刘阿木) :报错,CommandText does not return a result set
FT,你的存储过程是不是根本没有如
select ....的返回结果集的语句啊?