AdoQuery 使用参数时出错

2023-12-13

我需要更新字段值,增加旧值。像这样的东西

UPDATE MYTABLE SET FIELD1=FIELD1+VALUE WHERE ....

但是当运行下一个代码时我遇到了这个错误

参数对象不正确 定义的。不一致或不完整 已提供信息

这是我的代码

AdoQuery:=TADOQuery.Create(nil);
    try
        AdoQuery.Connection:=FAdoConnection;
        AdoQuery.Active:=False;
        AdoQuery.Parameters.CreateParameter('RECON',ftFloat,pdInput,SizeOf(Double),d1);
        AdoQuery.Parameters.CreateParameter('NUM',ftInteger,pdInput,SizeOf(Integer),Trans);
        AdoQuery.Parameters.CreateParameter('LIN'   ,ftInteger,pdInput,SizeOf(Integer),Lin);
        AdoQuery.SQL.Clear;
        AdoQuery.SQL.Add('UPDATE DIPTT SET VALRECON=:RECON+VALRECON WHERE NUM=:NUM AND LIN=:LIN');
        AdoQuery.Prepared:=True;
        AdoQuery.ExecSQL;
    finally
        if AdoQuery.Active then AdoQuery.Close;
        AdoQuery.Free;
    end;

我尝试了多种组合

1)

    AdoQuery.SQL.Add('UPDATE DIPTT SET VALRECON=VALRECON+:RECON WHERE NUM=:NUM AND LIN=:LIN');

2)

        AdoQuery.SQL.Add('UPDATE DIPTT SET VALRECON=(VALRECON)+:RECON WHERE NUM=:NUM AND LIN=:LIN');

只有当我尝试这个时它才有效。 (显然这不是一个有效的选项,但请告诉我问题出在哪里)

        AdoQuery.SQL.Add('UPDATE DIPTT SET VALRECON=:RECON WHERE NUM=:NUM AND LIN=:LIN');

这句话怎么改写呢?

有什么线索吗?


快速猜测(现在没有什么可以玩的),但尝试将参数放在括号中;



UPDATE DIPTT SET VALRECON=(:RECON)+(VALRECON) WHERE NUM=:NUM etc
  

如果做不到这一点,您最好的途径可能是为该部分动态构建 SQL 语句,例如



FSQL:='UPDATE DIPTT SET VALRECON=VALRECON+' + IntToStr(d1) + 
      ' WHERE NUM=:NUM etc';
AdoQuery.SQL.Text:=FSQL;
  

然后像以前一样设置 Num 参数值(等)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AdoQuery 使用参数时出错 的相关文章

  • 如何在Delphi中显示Vista风格的气球提示?

    在输入验证时 我使用气球提示而不是消息框 我的问题是 在 Vista 上 它们具有带圆角的旧 XP 样式 而不是较新的矩形外观 我尝试使用 CreateWindowEx 创建它们并且tooltips class32或使用 SendMessa
  • 从 Delphi VCL 样式获取特定字形

    我想从 VCL 样式获取特定的位图 并将其设置为按钮上的图像 它实际上是帮助问号 在位图样式编辑器中是来自表单的 btnHelp 图像 要从 VCL 样式获取视觉元素 字形 您必须使用GetElementDetails和TCustomSty
  • 将图像加载到 TImageList 并读取它们?

    我试图通过将 jpg 转换为 bmp 然后将其保存到 imagelist1 来将 jpg 加载到图像列表中 从上到下的代码片段 Selectdir 有效 fileexists 部分有效 这用于加载文件夹中的所有图像 所有图像都以 0 jpg
  • logback的“谨慎模式”是如何实现的?

    The 审慎模式 http logback qos ch manual appenders html prudentlogback 中的序列化所有 JVM 之间的 IO 操作 写入同一文件 可能运行在不同的主机上 在其他日志记录框架中 如果
  • Delphi - 如果没有创建类,为什么这个函数可以工作?

    考虑这个类 unit Unit2 interface type TTeste class private texto string public function soma a b integer string end implementa
  • H2161 重复资源[一个VCL项目可以有2个类名相同但命名空间不同的表单吗?]

    我尝试在 2 个不同的命名空间中创建具有相同类名的 2 个表单 FirstNameSpace ExampleFormName TExampleFormName SecondNameSpace ExampleFormName TExample
  • Delphi - Indy - 保存 GMail 草稿

    我一直在 Delphi 下使用 Indy 通过 gmail 帐户发送消息 使用 TIdSMTP 和 TIdMessage 组件 这绝对没问题 但是 我的客户请求将消息保存到 DRAFTS 文件夹 以便他在实际发送消息之前对 以编程方式创建的
  • Delphi 的内存分析工具?

    我建立了一个项目并运行它 然后在 Process Explorer 中查看它 结果发现它在启动时使用的 RAM 比我想象的要多 5 倍 现在 如果我的程序运行得太慢 我会将其连接到分析器并让它告诉我什么正在使用我的所有周期 有没有类似的工具
  • 如何在拥有句柄时检查给定进程是否正在运行

    我在用ShellExecuteEx启动应用程序 成功开始阅读后TShellExecuteInfo hProcess获取已启动进程的句柄 我想定期检查我的应用程序启动的进程是否仍在运行 两个或多个同名进程可以同时运行 我想确保我的应用程序正在
  • 如何在按键时识别 unicode 键?

    我的应用程序使用 unicode 字符 并且我有几个文本字段 我想限制用户输入特殊字符 例如 begin if not Key in a z A Z 0 9 13 8 then Key 0 if Key 13 then bOk Click
  • Delphi 7 - 处理表单中嵌入框架的 MouseWheel 事件?

    你好 我有一个表格 里面有几个框架 对于某些框架 我希望滚动内容 或至少处理鼠标滚轮事件 我已经尝试过以下方法 只需为每个帧分配一个 OnMouseWheel 事件处理程序 重写父窗体的 MouseWheel 事件 procedure TF
  • 使用 Delphi 读取 Excel 电子表格

    我需要使用 Delphi 2010 读取和写入 Excel 电子表格 没什么花哨的 只需读取和写入不同工作表上特定单元格和范围的值 需要在没有安装 Excel 的情况下工作并支持 Excel 2007 我看过的一些东西 我尝试过使用ADO
  • 似乎有时 Delphi 是区分大小写的 - “覆盖方法应该与祖先的大小写匹配”

    今天我遇到了一个 奇怪 的提示 覆盖方法 xxxx 应匹配祖先 yyyy 的大小写 解决方案是完全按照祖先中的方式声明方法名称 我相信这是自 Delphi Net 编译器以来编译器中保留的东西 与祖先中完全相同的方法声明方法使编译器 沉默
  • 使用 TArray 而不是 Array of T 的原因是什么?

    我正在将遗留的 Delphi 应用程序迁移到 Delphi XE2 我想知道是否有充分的理由替换定义为的数组Array of MyType to TArray
  • 面向 Delphi 开发人员的 Qt

    有人知道为 Delphi C Builder VCL 开发人员解释 Qt 的书籍或教程吗 对于具有该背景的开发人员来说 学习 Qt 的最佳方法是什么 我对如何使用 Qt 完成我知道如何在 Delphi 中完成的事情特别感兴趣 例如 Qt 相
  • Delphi 应用程序被 Google Chrome 视为“危险”

    我经常用Delphi 2009制作数学软件 并将其发布在我的网站上 然而 去年左右 Google Chrome 开始认为我的一小部分 但数量不断增加 EXE 是 有害的 并且 Google Chrome 拒绝下载它们 例如 今天我编写了一个
  • 新编译的应用程序需要 UAC/elevation?

    我有一个系统 我将其设置为普通的 UAC 并在我的 delphi 环境中编译名为 ka exe 的项目 并为其创建一个 installshield 项目 设置完毕 一切顺利 但每当我开始我的程序时 它都需要提升 而我不知道为什么 为了确保
  • 我有进程 ID,需要使用 Delphi 5 以编程方式关闭关联进程

    任何人都可以帮我提供一个编码示例 以便在我拥有进程 ID 时关闭关联的进程 我将使用 Delphi 5 在 Windows 2003 服务器上以编程方式执行此操作 如果您有进程 ID 并希望强制终止该进程 可以使用以下代码 function
  • 让线程在窗体关闭时保持运行

    我在我的应用程序上创建了一个同步线程 我想知道如果我关闭申请表 是否有办法让该线程保持打开状态 直到完成同步过程 调用线程的WaitFor方法在您的 DPR 文件中 之后Application Run线 如果线程已经运行完毕 那么WaitF
  • DBX 错误:驱动程序无法正确初始化

    我在跑步德尔福XE3 终极版 MySQL 数据库 这是我点击时收到的错误Test Connection 作为回应 我在 xampp 目录中找到了 libmysql 库 并将其复制到我的 System32 目录中 但这是行不通的 此消息指的是

随机推荐

  • 带有文档 ID 的 Swift Firebase 自定义对象

    有没有办法创建自定义 Swift 对象 将 Firebase 文档 ID 分配给对象参数 代码取自这里 https firebase google com docs firestore query data get data custom
  • AttributeError:类型对象“Callable”没有属性“_abc_registry”

    当我打开 jupyter 笔记本时出现错误 我使用谷歌寻求帮助 但找不到答案 我在 macOS mojave 上使用 python 3 7 2 我重新安装了我的 Jupiter 笔记本 但没有任何变化 当我输入jupyter笔记本时 它向我
  • WIX If...else 条件使用注册表

    我试图通过检查注册表值在 WIX 中使用 if else 条件
  • 选择从月初到当前日期的记录

    我正在尝试选择在当月开始和当天之间添加到数据库中的记录 我或多或少知道如何获取当天以及特定时间段内的记录 但我该如何得到它 以便从当前日历月的月初开始 DECLARE sm DATETIME SET sm DATEADD DAY 1 DAY
  • 解释器环境中的python垃圾收集和_下划线

    如果一个类是在解释器环境中定义的 class C object def init self val self x val 然后实例化 不带名称 gt gt gt C 1 gt gt gt C 2 gt gt gt 那么我们可以使用下划线 来
  • 序列化/反序列化机制

    说吧 我有课X它有一个字段值 即 class X implements Serializable private int value 此外 它还有此处未显示的 getter 和 setter 这个类是序列化的 在反序列化时 同一类具有值字段
  • jsPDF添加图表

    我正在使用 jsPDF 通过 Appcelerator 的 Titanium 生成 PDF 文档 现在我需要添加一个包含两个部分的简单饼图 我怎样才能以最简单的方式做到这一点 它不需要什么花哨的东西 我正在考虑首先生成图像 然后将该图像添加
  • Android Studio 问题缺少 debug.keystore

    每次我想签署我的 aok 时 我都会失败Missing debug keystore它说它实际上应该位于此路径 Store 下 C Users jamie android debug keystore但没有任何密钥库文件 我怎样才能创建一个
  • 通过优先考虑其中一列来合并数据框中的 2 列

    假设我有以下 data frame Value1 Value2 a
  • PHP 正则表达式无法处理数据库中的字符串

    preg replace当我在从数据库获取的字符串上使用它时 不会返回所需的结果 result DB connection connection gt select my query foreach result as row prints
  • PopupWindow 内的 ListView 的问题

    我有一个ListView in a PopupWindow The PopupWindow像这样初始化 window setContentView root window setTouchable true window setFocusa
  • 在 wpf 中找不到事件“SelectedIndexChanged”

    在 winform 中 当我创建组合框时 我可以找到事件 SelectedIndexChanged 活动工作after组合框的索引已更改 private void comboBox1 SelectedIndexChanged object
  • bash 通过匹配列合并文件

    我有两个文件 File1 12 abc 34 cde 42 dfg 11 df 9 e File2 23 abc 24 gjr 12 dfg 8 df 我想逐列合并文件 如果第 2 列相同 输出如下 File1 File2 12 23 ab
  • Angular2中的递归动态模板编译

    我的一些工作基于此处描述的相同问题 使用 Angular 2 0 编译动态组件的动态模板 如何使用 创建动态模板来使用 Angular 2 0 编译动态组件 可以找到上述问题中描述的工作plunkerhere 如果动态详细信息尝试创建另一个
  • 如何通过切换视图来改变小部件?

    我想要一个平滑的动画 可以在以前的比例和位置之间切换到当前的比例和位置 但看起来它并不是之前的精确比例或位置 为什么唯一的第一个小部件具有反向比例 gt ZoomIn 而不是 ZoomOut 我添加了一个 isSet 变量 因为第一帧显示的
  • 使用部分下载 (HTTP) 下载文件

    有没有办法使用部分下载功能通过 HTTP 下载巨大且仍在增长的文件 看来这段代码每次执行时都会从头开始下载文件 import urllib urllib urlretrieve http www example com huge growi
  • Laravel 服务提供商给出“目标 [接口] 不可实例化”错误

    我的错误信息 Illuminate Container BindingResolutionException Target Project Backend Service Validation ValidableInterface is n
  • 在c中返回一个数组

    我想知道是否有任何方法可以返回 char 数组 我尝试了类似 char fun 的方法 但出现错误 我不需要指针解决方案 谢谢 您可以通过将数组包装在结构中来返回数组 struct S char a 100 struct S f struc
  • jquery validate:如何使字段在更改时进行验证?

    在 jquery 的 validate 插件上 只有当用户将焦点放在另一个元素上时 错误消息才会消失 我想让它在写入正确信息后立即消失 如何 onchange 触发验证 selector validate onkeyup true
  • AdoQuery 使用参数时出错

    我需要更新字段值 增加旧值 像这样的东西 UPDATE MYTABLE SET FIELD1 FIELD1 VALUE WHERE 但是当运行下一个代码时我遇到了这个错误 参数对象不正确 定义的 不一致或不完整 已提供信息 这是我的代码 A