ADO.NET——Command(执行SQL) & DataReader(读取数据库)

简介:     一,关于两个对象的基础知识    1,Command         Command对象主要用于对数据源执行SQL命令并返回结果。       ADO.NET提供了Connection来连接数据库,同时也提供了Command对象来查询数据库。

   

一,关于两个对象的基础知识

   1,Command

        Command对象主要用于对数据源执行SQL命令并返回结果。


      ADO.NET提供了Connection来连接数据库,同时也提供了Command对象来查询数据库。同Connection对象一样,Command也有两种:OleDbCommand和SqlCommand.其区别同Connection对象。

    

    

     Command对象有一个属性:CommandTypesql语句或者存储过程);三个重要方法:ExecuteNonQuery(增、删、改影响的行数)、ExecuteReader(返回DataReader对象类型)ExecuteScalar(返回结果集的第一行第一列值).


  2,DataReader

    而DataReader对象不能直接实例化,必须通过Command对象中的一个方法来创建。


     所以,在使用这两个对象时,可以把他们连起来使用。首先,我们用Connection连接数据库,然后用Command执行数据库命令,最后将执行的结果传递给DataReader.


二,示例

   例如:

static void Main(string[] args)
        {
            //创建连接
            string strConn = "database=Login;server=localhost;UID=sa;PWD=123456";  //连接字符串

            using (SqlConnection conn = new SqlConnection(strConn)) //建立连接,并且当连接使用完后自动关闭
            {
                conn.Open();  //打开连接

                //查询
                string strSQL = "select * from Users where ID=@UserID";
                SqlCommand cmd = new SqlCommand(strSQL, conn);

                //添加参数
                string userid = "1";   //查询用户ID=1的用户
                cmd.Parameters.AddWithValue("@UserID", userid);  //参数的赋值

                //执行查询,保存结果
                SqlDataReader reader = cmd.ExecuteReader();  //将查询结果保存在reader里面

                //显示查询结果

                if (reader.HasRows)   //如果查到的结果不为空
                {
                    while (reader.Read())   //读取每条,逐条显示
                    {
                        Console.WriteLine("ID是:{0};UserName是:{1}", reader["ID"], reader["UserName"]);
                    }
                }
                else   //没有查询结果时候
                {
                    Console.WriteLine("没有查到结果");
                }
            }


            //conn.Close();  //关闭连接

        }


  以上例子包含了Command的参数化查询过程和DataReader的基本使用,再加上connection对象,基本可以完成对数据库的读操作。

   未完待续。。。

 

   

  

目录
相关文章
|
10月前
|
SQL 机器学习/深度学习 人工智能
从“写SQL”到“聊数据”:NL2SQL如何用自然语言解锁数据库?
本文系统性地阐述了自然语言转SQL(NL2SQL) 技术如何让非技术背景的业务分析师实现数据自助查询,从而提升数据驱动决策的效率与准确性。
从“写SQL”到“聊数据”:NL2SQL如何用自然语言解锁数据库?
|
9月前
|
SQL 人工智能 Linux
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
732 5
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
|
8月前
|
SQL 存储 监控
SQL日志优化策略:提升数据库日志记录效率
通过以上方法结合起来运行调整方案, 可以显著地提升SQL环境下面向各种搜索引擎服务平台所需要满足标准条件下之数据库登记作业流程综合表现; 同时还能确保系统稳健运行并满越用户体验预期目标.
420 6
|
10月前
|
SQL 人工智能 Java
用 LangChain4j+Ollama 打造 Text-to-SQL AI Agent,数据库想问就问
本文介绍了如何利用AI技术简化SQL查询操作,让不懂技术的用户也能轻松从数据库中获取信息。通过本地部署PostgreSQL数据库和Ollama模型,结合Java代码,实现将自然语言问题自动转换为SQL查询,并将结果以易懂的方式呈现。整个流程简单直观,适合初学者动手实践,同时也展示了AI在数据查询中的潜力与局限。
1337 8
|
10月前
|
SQL 人工智能 Linux
SQL Server 2025 RC0 发布 - 从本地到云端的 AI 就绪企业数据库
SQL Server 2025 RC0 发布 - 从本地到云端的 AI 就绪企业数据库
437 5
|
11月前
|
SQL 缓存 监控
SqlRest让SQL秒变Http API,还支持20+数据库(含国产数据库)
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
|
11月前
|
SQL 存储 数据库
SQL Server Management Studio (SSMS) 21 - 微软数据库管理工具
SQL Server Management Studio (SSMS) 21 - 微软数据库管理工具
1476 0
|
11月前
|
SQL XML Java
配置Spring框架以连接SQL Server数据库
最后,需要集成Spring配置到应用中,这通常在 `main`方法或者Spring Boot的应用配置类中通过加载XML配置或使用注解来实现。
784 0
|
SQL 人工智能 数据库
SQL Server 2025 - 从本地到云端的 AI 就绪企业数据库
SQL Server 2025 - 从本地到云端的 AI 就绪企业数据库
1042 0
SQL Server 2025 - 从本地到云端的 AI 就绪企业数据库
|
SQL 关系型数据库 MySQL
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL 数据库 SQL 语句调优方法详解(2-1)
本文深入介绍 MySQL 数据库 SQL 语句调优方法。涵盖分析查询执行计划,如使用 EXPLAIN 命令及理解关键指标;优化查询语句结构,包括避免子查询、减少函数使用、合理用索引列及避免 “OR”。还介绍了索引类型知识,如 B 树索引、哈希索引等。结合与 MySQL 数据库课程设计相关文章,强调 SQL 语句调优重要性。为提升数据库性能提供实用方法,适合数据库管理员和开发人员。