Parameter not found的出现的原因
with AAdq do begin SQL . Text:= 'INSERT INTO 需要做的事(选中,ID,类别,标题,优先级,状态,已完成百分比,说明,开始日期,截止日期,附件)VALUES(:选中,:ID,:类别,:标题,:优先级,:状态,:已完成百分比,:说明,:开始日期,:截止日期,:附件) ' ; Parameters . ParamByName( '选中' ).Value:=AXuYaoArray[ 0 ]; Parameters . ParamByName( 'ID' ).Value:= AXuYaoArray[ 1 ]; Parameters . ParamByName( '类别' ).Value:= AXuYaoArray[ 2 ]; Parameters . ParamByName( '标题' ).Value:= AXuYaoArray[ 3 ]; Parameters . ParamByName( '优先级' ).Value:= AXuYaoArray[ 4 ]; Parameters . ParamByName( '状态' ).Value:= AXuYaoArray[ 5 ]; Parameters . ParamByName( '已完成百分比' ).Value:= AXuYaoArray[ 6 ]; Parameters . ParamByName( '说明' ).Value:= AXuYaoArray[ 7 ]; Parameters . ParamByName( '开始日期' ).Value:= AXuYaoArray[ 8 ]; Parameters . ParamByName( '截止日期' ).Value:= AXuYaoArray[ 9 ]; Parameters . ParamByName( '附件' ).Value:= AXuYaoArray[ 10 ]; ExecSQL; end ; |
以前都是这么用的,可是今天却一直提示ParameterID not found,把Parameters.ParamByName(ID’).Value := getid();这句注释掉后,就提示后边的参数没有找到。
有人说values后要加空格,加了不行。重新写一遍,看是不是输入汉字字符了?试了各种方法,还是没解决问题.
后来看到有高人总结了三种原因 :
出现 ADOQuery1 : parameter "***r" not found 的提示的原因:
1、SQL语句本身无参数;
2、ADOQuery1的ParamCheck属性为False;
3、未设置ADOQuery1的Connection或ConnectionString属性。
4、数据类型为ID自动增加,或者日期格式造成的;
仔细一检查,第三条。果断取改 。
参考原文:http://blog.csdn.net/hank5658/article/details/3238180
参考原文2:https://wenku.baidu.com/view/98afdefa770bf78a65295489.html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· PPT革命!DeepSeek+Kimi=N小时工作5分钟完成?
· What?废柴, 还在本地部署DeepSeek吗?Are you kidding?
· DeepSeek企业级部署实战指南:从服务器选型到Dify私有化落地
· 程序员转型AI:行业分析