Delphi参数化SQL的小问题

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情
      今天用参数化SQL时运行死活过不去,报告异常说edatabaseerror parameter 'table' not found,就是说参数table在SQL中找不到了.但死活查代码都看不出任何问题.
   历一小时,最后才查出原因,动态加入tadoquery.sql的参数化SQL语句在调用参数前先解析下SQL,如下:

  1.   Parameters.ParseSQL(SQL.Text, True);
再执行就OK!代码例下:
  1. with self.qryMain do begin
  2.     try
  3.       SQL.Clear();
  4.       Parameters.Clear();
  5.       Close();
  6.       Prepared := False;
  7.       SQL.Text := 'SELECT [CurrentNO], [Mask], [CurrentDate] FROM [CurrentID]' +
  8.         ' WHERE [TabName]= :TabName AND [KeyField]=:KeyField;';
  9.       Parameters.ParseSQL(SQL.Text, True); //一定要加
  10.       Parameters.ParamByName('TabName').Value := Table;
  11.       Parameters.ParamByName('KeyField').Value := KeyField;
  12.       Prepared := True;
  13.       Open();

参考网址:
http://www.delphi32.com/info_facts/faq/faq_932.asp
http://delphi.ktop.com.tw/board.php?fid=66&tid=27744

希望和我出同样错误的同道能看到本文!一小时的代价啊.....

delphi12 sqlserver 客户-服务简单连接设置 本文介绍了Delphi中数据库组件的配置与使用。服务端需配置TSQLConnection连接数据库,通过TSQLDataSet和TSQLQuery执行SQL语句,TDataSetProvider为客户端提供数据。客户端通过TSQLConnection连接服务端,TDSProviderConnection建立连接通道,TClientDataSet获取数据,TDataSource将数据显示在界面组件上。文中详细说明了各组件的属性设置方法,并提供了三种SQL操作的代码示例 阅读详情

相关推荐

Debezium报错处理系列之六十四: SQL Server Agent running status query must return exactly one value

Debezium报错处理系列之六十四:SQL Server Agent running status query must return exactly one value

zhengzaifeidelushang的博客 686

Delphi中使用动态SQL的几个问题

Delphi支持参数化SQL语句,不过俺很少用Paramters/Params属性,一般都是自己构造SQL,用SQL.Text:=Select * from ..Where ID=+edit1.text+;不过这种方法要小心SQL注入攻击哦。今天改用ADOQuery控件的Paramters属性,本已为简单的很,一用发现了不少问题。由于我只使用一个ADOQuery控件,而其中的SQL

大鸟的专栏 3763

UniDAC 10.3.0源码版在Delphi 12.3中的安装与跨数据库实践

在多数据库共存的业务场景中,数据库访问组件的选型直接影响开发效率和维护成本。UniDAC作为一套通用数据访问组件,以“一套API连接多种数据库”的设计理念,为Delphi开发者提供了统一的数据访问层,降低了SQL方言和数据库差异带来的适配负担。其源码版进一步赋予开发者调试穿透和深度定制的能力,便于定位底层SQL执行、参数绑定及字符集转换等环节的隐藏问题。本文从UniDAC的架构与源码价值出发,介绍了在Delphi 12.3环境下编译安装源码包的具体步骤,并通过Oracle、SQLite、MySQL跨数据库查

weixin_33766168的博客 339

IntelliJ IDEA中js代码报如下警告的解决方法

Checks that jQuery selectors are used in an efficient way. It suggests to split descendant selectors which are prefaced with ID selector and warns about duplicated selectors which could be cached.

请叫我大师兄 2万+

Delphi多条件查询格式

查询语句  DataModule1.worksdata.CommandText:='select * from 送气工 where '+sql+''; 查询多条件判断 if(ComboBox2.Text = '等于') then begin       if(ComboBox3.Text = '并且') then       begin         sql:=sql+ 'and'

孤独剑的专栏 3395

SQL查询语句精华使用简要

 SQL查询语句精华使用简要-南山古桃-关键词:Delphi,SQL查询,语句精华2008年03月20日 星期四 下午 08:31关键词:Delphi,SQL查询,语句精华一、 简单查询   简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。 例如,下面的语句查询testtable

云雪专栏 549

delphi 参数化sql

曾经查过资料,后来忘了,现在做一下记录。 --------- 在 sql 语句里占位使用 一个冒号和一个用来表示这个位置的符号, 例如:SELECT * FROM aTableName WHERE aCol = :ColVal SELECT * FROM aTableName WHERE aCol = :ColVal 对占位了的地方赋值这里使用的是 paremeter...

weixin_30794499的博客 548

SQL SERVER 在DELPHI中的日期比较处理

问题: 在sql ser str := ' select sum(收款) as 收款,SUM(付款) as 付款 , ' //max(日期) as 日期, MIN(htcode) as htcode, + ' MIN(承包人) as 承包人 ' + ' from 收付款X where ' + ' datediff(day,日期 ,''' + formatdatetime('c', rq1) + ''')<=0 ' + ' a...

程序员与注册会计师 649

Delphi语言的安全开发

Delphi 是由Borland公司开发的一种基于 Pascal 语言的编程语言,最初用于快速应用程序开发 (RAD)。Delphi 的优点在于其强大的组件库、可视化设计界面和优秀的性能表现,使得开发人员能够高效地构建高质量的应用程序。然而,它的安全性问题也日益显现,尤其是在互联网和云计算迅猛发展的今天。

2501_90485629的博客 339

ADODataSet的参数问题

ADODataSet的参数问题 Delphi / Windows SDK/APIhttp://www.delphi2007.net/DelphiDB/html/delphi_20061224005223138.html select   *   from   table   where   :cur_field   =   :cur_key         这样写对吗?为什么我给传递了值...

weixin_34066347的博客 126

Delphi查询Sqlserver数据库传入日期类型方法总结

很常见的一个问题要查询数据库中某个时间段的记录?在写sql语句时查询肯定要传入开始结束时间参数,翻阅程序工程代码发现不同人写法不同,仔细想想其实写sql查询语句传入日期时间参数是比传入整形或字符串类型要复杂些,因为设计到日期时间的现实格式,把常见的几种写法总结如下: 最普通最麻烦的写法,sql语句直接用+连接来写:比如Delphi中直接传入TdateTime类型的参数StartTime、Stop...

weixin_34117211的博客 394

Delphi fibplus控件库安装、迁移与性能调优全攻略

数据库访问层是应用开发的核心组件,它负责连接应用程序与数据库,实现数据的增删改查。在Delphi生态中,第三方控件库通过提供原生、高效的数据库访问接口,显著提升了开发效率和系统性能。这类技术尤其在与特定数据库深度集成时,能减少抽象层,优化查询执行计划,从而在工程实践中实现更快的响应速度和更低的资源消耗。在遗留系统维护和数据库驱动应用升级场景中,选择合适的数据库访问组件并解决其版本兼容性问题至关重要。本文聚焦于fibplus控件库,这是一个专为Firebird/InterBase优化并支持多数据库的Delph

weixin_27734811的博客 298

Delphi环境下自定义SQL查询动态生成与执行实战

在现代数据库应用开发中,静态SQL语句已难以满足复杂多变的业务需求。自定义SQL查询通过动态构造SQL命令,支持运行时条件拼接,显著提升数据访问灵活性。其核心原理在于将SQL语句分解为可变片段,结合参数化输入进行重组,并利用数据库引擎的预编译机制安全执行。相较于固定查询,它具备更高的适应性,广泛应用于多维度报表、用户自定义筛选及细粒度权限控制等场景。本章将为后续动态生成机制与组件封装提供理论支撑。更进一步,可将整套查询模板定义为结构化配置对象。例如使用JSON格式描述:},],

weixin_42601134的博客 1105

delphi FDQuery 参数化查询获取完整SQL

vari:Integer;begintrybeginend;exceptend;end;

qqww155的专栏 635

delphi+sql数据库增加,删除,修改,查询操作

增加 with dm.DataModule1.ADOQuery1 do begin close; sql.Clear; sql.Add('insert into 表 (字段1,字段2,字段3) values(:a,:b,:c)');//前面的字段就是需要增加的 parameters.ParamByName('a').Value:=trim(edit1.Tex...

九袋面的博客 7674

DelphiSQL数据库字符串查询实战

本文还有配套的精品资源,点击获取 简介:Delphi是一种高效的RAD工具,适合快速应用开发。本教程将指导如何使用Delphi结合SQL数据库进行字符串查找,重点在于利用变量来实现这一功能。内容涵盖数据库连接、SQL语句构造、变量应用等多个方面,并涉及优化查询性能与异常处理等实践技巧。通过这个过程,开发者可以灵活地在数据库中查找含有特定字符串的数据,提升应用程序功能。 ...

weixin_42350014的博客 1347

DelphiSQL

SQL(Structured Query Language) is a standardized language for defining and manipulating data in a relational database. In accordance with the relational model of data, the database is perceived as a...

cumao2792的博客 490

delphi 调用SQL和MYSQL存储过程

delphi 调用SQL存储过程 1. mysql存储过程 sqls := Format(' call pro_addOneStudent (' + '''%s'',''%s'',''%s'',''%s'',''%s'',''%s'',''%s'',''%s'',''%s'',''%s'' )', [stuname, sex, school, classname, p1nam...

qq_33536143的博客 970
上一篇: delphi中按指定字符重复生成指定长度字符串
下一篇: delphi中string转array of char
jarraytan
博客等级 码龄22年 101粉丝 56原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值