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
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!