Delphi使用ADO执行SQL时报错:ORA-00937: not a single-group group function
有三种方式拼接SQL
**方式1会报错**:ORA-00937: not a single-group group function
adoquery.Close;
adoquery.SQL.Text := 'select count(*) icount from testtable where testno = :no and testname = :name ';
adoquery.Parameters.ParamByName('no').Value := Number;
adoquery.Parameters.ParamByName('name').Value := Name;
adoquery.Open;
adoquery.First;
Result := adoquery.FieldByName('icount').AsInteger ;
**方式2可以执行**
adoquery.Close;
adoquery.SQL.Text := Format('select count(*) icount from testtable where testno = ''%s'' and testname = ''%s'' ', [Number, Name]);
adoquery.Open;
adoquery.First;
Result := adoquery.FieldByName('icount').AsInteger ;
**方式3可以执行**
adoquery.Close;
adoquery.SQL.Text := 'select * from ( select count(*) from testtable where testno = :no and testname = :name )';
adoquery.Parameters.ParamByName('no').Value := Number;
adoquery.Parameters.ParamByName('name').Value := Name;
adoquery.Open;
adoquery.First;
Result := adoquery.Fields[0].AsVariant
补充说明:
第一种报错的SQL方式是在MSDAORA.1驱动下报错,但是使用OraOLEDB.Oracle.1驱动可以
到底是为什么
相关推荐
Delphi7.1 Update
Delphi 7.1 Update Release Notes=======================================================This file cont
Delphi环境下自定义SQL查询动态生成与执行实战
在现代数据库应用开发中,静态SQL语句已难以满足复杂多变的业务需求。自定义SQL查询通过动态构造SQL命令,支持运行时条件拼接,显著提升数据访问灵活性。其核心原理在于将SQL语句分解为可变片段,结合参数化输入进行重组,并利用数据库引擎的预编译机制安全执行。相较于固定查询,它具备更高的适应性,广泛应用于多维度报表、用户自定义筛选及细粒度权限控制等场景。本章将为后续动态生成机制与组件封装提供理论支撑。更进一步,可将整套查询模板定义为结构化配置对象。例如使用JSON格式描述:},],
Delphi 12.3 源码编译安装 UniDAC 10.3.0 实战与排坑全记录
在Delphi开发中,数据库访问组件一直是企业级应用的核心依赖。UniDAC作为一套可统一访问Oracle、SQL Server、MySQL、PostgreSQL、SQLite等主流数据库的通用组件,凭借其灵活的Provider切换机制,在ERP、MES、进销存等场景中广泛使用。然而,面对Delphi 12.3这样的新版本,许多开发者选择源码编译安装以获得版本匹配、可调试源码和路径可控等优势。本文将详细介绍从解压源码包、配置Library Path、编译运行时包与设计时包,到处理IDE控件消失、数据库连接失
EhLib 8.0 Build 8.0.023 Pro Edition FullSource for D7-XE8
EhLib 8.0 Build 8.0.023 Pro Edition FullSource for D7-XE8亲测可用,含全部源码及 DemoThe Library contains compon
DevExpress VCL Controls 26.1.3在Delphi 13.1中的安装与实战指南
Delphi作为经典的桌面开发语言,在传统行业管理系统中仍占据重要地位,但原生VCL控件面对复杂交互时显得力不从心。第三方VCL组件库通过封装成熟的表格、布局、皮肤等能力,成为提升开发效率与界面质感的有效方案。例如,cxGrid提供多级分组、主从表等高级数据展示,dxLayoutControl则让表单界面自动对齐、快速布局。这类组件不仅减少了自绘代码量,还增强了多显示器DPI适配与运行期性能,广泛应用于ERP、MES、HIS等Windows桌面客户端。本文围绕DevExpress VCL Controls


数据库相关
