19.4.5 查询带聚合函数的SQL语句

devtools/2025/2/13 9:58:46/

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。

需要北风数据库的请留言自己的信箱。

前面第19.4.1节学习了返回多条数据的查询是采用OleDbCommand的ExecuteReader方法。如果带聚合函数的SQL语句返回数据只有一条,那么建议采用OleDbCommand的ExecuteScalar方法,

【例 19.12【项目:code19-012】获得带函数的SQL语句的查询结果。

    ……代码略

        private void button1_Click(object sender, EventArgs e)

        {

            //新建OleDbCommand对象实例

            OleDbCommand command = new OleDbCommand();

            //要执行的SQL语句

            command.CommandText = "SELECT count(产品名称) as 产品品类总数 from 产品";

            //设置OleDbCommand的数据连接为OleDbConnection

            command.Connection = conn;

            int productCount;

            //执行ExecuteScalar,返回第一个数据

            productCount = (int)command.ExecuteScalar();

            textBox1.Text = "产品品类总数:" + productCount;

        }

        private void button2_Click(object sender, EventArgs e)

        {

            //新建OleDbCommand对象实例

            OleDbCommand command = new OleDbCommand();

            //要执行的SQL查询

            command.CommandText = "SELECT 供应商ID,count(供应商ID) as 供货产品种类 from 产品 group by 供应商ID";

            //设置OleDbCommand的数据连接为OleDbConnection

            command.Connection = conn;

            //声明OleDbDataReader对象

            OleDbDataReader odReader;

            //通过OleDbCommand的ExecuteReader方法获得OleDbDataReader对象实例。

            odReader = command.ExecuteReader(CommandBehavior.SingleResult);

            //保存查询获得的数据

            string queryString = "";

            //如果OleDbDataReader中包含数据

            if (odReader.HasRows)

                //循环读取每一行数据,直到Read方法返回False

                while (odReader.Read())

                    //这里获得每一行第一个和第二个字段名称及其对应的数据

                    queryString += odReader.GetName(0) + ":" + odReader.GetInt32(0) + "   " + odReader.GetName(1) + ":" + odReader.GetInt32(1) + "\r\n";

            //关闭数据读取器

            odReader.Close();

            //显示查询获得的数据

            textBox1.Text = queryString;

        }

运行结果如下图所示:

图19-29 供应商供货产品种类的分组查询结果

学习更多vb.net知识,请参看vb.net 教程 目录

学习更多C#知识,请参看C#教程 目录


http://www.ppmy.cn/devtools/158447.html

相关文章

荣耀手机Magic3系列、Magic4系列、Magic5系列、Magic6系列、Magic7系列详情对比以及最新二手价格预测

目录 荣耀Magic系列手机详细对比 最新二手价格预测 性价比分析 总结 以下是荣耀Magic系列手机的详细对比以及最新二手价格预测: 荣耀Magic系列手机详细对比 特性荣耀Magic3系列荣耀Magic4系列荣耀Magic5系列荣耀Magic6系列荣耀Magic7系列处理器骁龙888&#x…

.Net使用EF Core框架如何连接Oracle

目录 一、Nutget包添加 二、 配置文件 三、创建实体类 四、创建数据库上下文类 五、将数据库上下文服务注册到容器 六、测试数据库数据 (1)编写PeopleController (2)编写People页面 一、Nutget包添加 一定要安装Oracle.Ma…

SAP系统常见的接口方式及特点介绍

【SAP系统研究】 在SAP系统中,接口主要用于系统间或系统与外部应用的数据交换和集成。以下是常见的接口方式及其特点: 一、IDoc方式 IDoc,Intermediate document,是SAP历史很悠久的接口技术,是一种系统间通用的数据交换媒介文件。IDoc基于XML的标准格式,常用于EDI、系…

vscode/cursor+godot C#中使用socketIO

在 Visual Studio Code(VS Code)中安装 NuGet 包(例如SocketIOClient),你可以通过以下几种方法: 方法 1:使用dotnet cli 打开终端:在 VS Code 中按下Ctrl 或者通过菜单View -> Terminal打开终端。 导…

51c自动驾驶~合集49

我自己的原文哦~ https://blog.51cto.com/whaosoft/13164876 #Ultra-AV 轨迹预测新基准!清华开源:统一自动驾驶纵向轨迹数据集 自动驾驶车辆在交通运输领域展现出巨大潜力,而理解其纵向驾驶行为是实现安全高效自动驾驶的关键。现有的开…

正则表达式--元字符-限定符(4)

正则的限定元字符 表示前边一个符号代表的内容出现多少次 1.* ------ 表示0~正无穷次 2. ------ 表示 1~正无穷次 3. ? ------ 表示 0~1次 4. {n} ------ 表示 限定 n 次, 不能多也不能少 5. {n,} ------ 表示 最少 n 次 6. {n,m} ------ 表示 最少 n 次, 最多 m 次 <!DO…

华为云之CodeArts IDE的使用体验

一、CodeArts IDE介绍 1.1 CodeArts IDE简介 CodeArts IDE定位华为云开发者桌面&#xff0c;是利用华为自研IDE内核技术&#xff0c;面向华为云开发者提供的智能化可扩展桌面集成开发环境&#xff08;IDE&#xff09;&#xff0c;结合华为云行业和产业开发套件&#xff0c;实现…

DeepSeek 助力 Vue 开发:打造丝滑的步骤条

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 Deep…