这可能是你在输入英文的时候开了输入法,你把那段程序出错部分('@devtype').删掉重输一遍
别在输入法的英文状态下输,关了它!

解决方案 »

  1.   

    如果你的Procedure是没有参数的,动态付值是没有问题。但现在你的Procedure有3个参数,adostoredproc1动态付值之后,那3个参数实际在adostoredproc1里都没有定义,所以执行出错。
       建议1:试试静态定义然后Fetch Param之后再执行,我想应该可以了。
       建议2:我没有试过在代码里设置adostoredproc1的变量参数,可以看看帮助,应该也可以。
      

  2.   

    用:
    ADOStoredPrec1.Parameters.CreateParameters('@devtype',ftstring,pdinput,20,'');
    ADOStoredPrec1.Parameters.CreateParameters('@logicalname'',ftstring,pdinput,20,'');
    ......
    ADOStoredPrec1.ExecProc
      

  3.   

    ADOStoredProc1.Parameters.ParamValues['@devtype']:='disk';
    .......