with datamoduletest.adoqueryword do begin …… sql.add( 'select * from testinfo where testid=:a '); parameters.parambyname( 'a ').value:=randnums[i];//该句有问题,编译通过,运行 有错误提示,改成parameters[0].value:=randnums[i]运行也错,但编译可以通过 …… end; 运行时为什么编译器发出类edatabaseerror with message 'adoqueryword :parameter 'a ' not found ',请问怎么改?
发表于:2007-04-04 16:51:521楼 得分:5
sql.add(format( 'select * from testinfo where testid=%d ',[random[i]]));
发表于:2007-04-04 17:07:592楼 得分:5
没有吧
发表于:2007-04-04 17:16:243楼 得分:5
难道 你的adoqueryword的 paramcheck 是false?
发表于:2007-04-05 05:50:484楼 得分:5
delphi中,参数应该用 ":? "来表求.上面改成 sql.add( 'select * from testinfo where testid=:? '); parameters[0].value:=randnums[i];试试看.
发表于:2007-04-05 15:58:055楼 得分:0
谢谢tradow和47522341的答案,但这些答案在编译时都出现编译错误,请问还有其他解吗?
发表于:2007-04-05 16:28:066楼 得分:0
a 是个什么东东 一个数据库的字段值? 是什么类型?
randnums是否是你写的一个函数,返回的值和parameters.parambyname( 'a ').value参数的值是不是一个类型