Parameter not found的出现的原因

  with dataM.Q_xfgl_dhjf do
  begin
    close;
    sql.Clear;
    sql.Add('insert into jfdh(jfdh_id,jfdh_hybh,jfdh_dhjf,jfdh_bz,jfdh_sj,jfdh_czr) ');
    sql.Add('values(:jfdh_id,:jfdh_hybh,:jfdh_dhjf,:jfdh_bz,:jfdh_sj,:jfdh_czr);') ;
    
    Parameters.ParamByName('jfdh_id').Value := getid();
    parameters.ParamByName('jfdh_hybh').Value := hy_id;
    parameters.ParamByName('jfdh_dhjf').Value := strtoint(edit1.Text);
    parameters.ParamByName('jfdh_bz').Value := memo1.Text;
    parameters.ParamByName('jfdh_sj').Value := now;
    parameters.ParamByName('jfdh_czr').Value := user;
  end;

以前都是这么用的,可是今天却一直提示Parameter jfdh_id not found,把Parameters.ParamByName('jfdh_id').Value := getid();这句注释掉后,就提示后边的参数没有找到。

有人说values后要加空格,加了不行。重新写一遍,看是不是输入汉字字符了?试了各种方法,还是没解决问题.

后来看到有高人总结了三种原因 :

出现   ADOQuery1   :   parameter   "***r"   not   found   的提示的原因:  
  1、SQL语句本身无参数;  
  2、ADOQuery1的ParamCheck属性为False;  
  3、未设置ADOQuery1的Connection或ConnectionString属性。  

仔细一检查,靠,第三条。灰头土脸的取改 。
---------------------
作者:hank5658
来源:CSDN
原文:https://blog.csdn.net/hank5658/article/details/3238180
版权声明:本文为博主原创文章,转载请附上博文链接!

posted @ 2018-10-23 15:28  覆雨翻云  阅读(14173)  评论(0)    收藏  举报