C#连接数据库之Connection、Command、DataReader用法总结

article/2025/9/30 23:44:11

目录

Connection连接字符串

创建并使用连接对象

数据连接的两个方法是Open()和Colse()。

Command对象与DataReader对象

构造函数:

常用属性:

常用方法:


大多数应用程序都需要和数据库交互。同其他.NET开发语言一样,在C#语言中对数据库的访问是通过.NET框架中的ADO.NET来实现的。

ADO是一个COM组件库,主要包括Connection、Command、Recordset对象等。他所实现的功能包括,打开与数据库的连接,把一下数据选出来,放在记录集中,这些数据由字段组成,接着处理这些数据,并在服务器上进行更新,然后关闭连接。

Connection对象表示与与一个数据源的物理连接。Connection对象的方法比较简单:打开和关闭连接,改变数据库和管理事务。

Command对象表示在数据源上执行一条SQL语句或者存储过程。对于一个Connection对象来说,可以独立地创建和执行不同的Command对象。

DataReader是一种快速、低开销的对象,用于从数据源中获取仅转发的、只读的数据流,往往用来显示查询的结果。DataReader不能用代码直接创建,只能通过Command对象的ExecuteReader()方法来创建。


Connection连接字符串

Connection对象最重要的属性是连接字符串ConnectionString,也是Connection对象唯一的非只读属性。

 //创建数据库连接字符串
public static string ConnString = @"Server =ZYB; Database =Login; User ID = sa;Password =123456";

创建并使用连接对象

Connection对象的构造函数有两个版本,有参与无参。

//using表示释放资源,有参
using (SqlConnection conn = new SqlConnection(ConnString))//无参
using (SqlConnection conn = new SqlConnection())

数据连接的两个方法是Open()和Colse()。

conn.Open();
conn.Close();

Command对象与DataReader对象

Command对象与DataReader对象是操作数据库数据的最直接的办法。Command对象根据程序员设置的SQL语句对数据库进行操作。返回需要返回结构及的SQL语句,Command对象的ExecuteReader方法生成一个DataReader对象,后者提供一个只读的游标,使程序员获取数据。

构造函数:

1.Command() ==>创建一个默认数据命令实例

2.Command(CommandText) ==>创建一个数据命令实例,CommandText属性为参数

3.Command(CommandText,conn) ==>创建一个数据命令实例,CommandText属性为参数,conn中指定连接的数据连接对象

4.Command(CommandText,conn,trans) ==>创建一个数据命令实例,CommandText属性为参数,conn中指定连接的数据连接对象,Transaction属性为参数trans中指定的事务对象

常用属性:

1.CommandText属性 ==>获取或设置对数据库执行的SQL语句

2.Connection属性 ==>获取或设置此Command对象使用的Connection对象的名称


常用方法:

1.ExecuteNonQuery() ==>返回 影响的记录行数(int类型)

2.ExecuteReader() ==>返回 DataReader(数据集对象),可以用fill()方法填充到dataset中来使用

3.ExecuteScalar() ==>返回 sql语句中第一行,第一列的值(object类型)

DataReader对象不能直接实例化、必须通过Command对象的ExecuteReader方法生成。

以下为实例

 public Login.Model.UserInfo SelectUser(string userName, string password){//实例化SqlConnection对象,实现数据库连接using (SqlConnection conn = new SqlConnection(DbUtil.ConnString)) //没有分号,释放资源{//实例化SqlCommadn对象,执行SQL命令(对数据库执行操作)SqlCommand cmd = conn.CreateCommand();//连接数据库中的User表(连接数据库的代码容易出错)cmd.CommandText = @"SELECT ID,UserName,Password,EmailFROM USERS WHERE UserName=@Username AND Password=@Password";cmd.CommandType = CommandType.Text;//给命令对象添加参数,将userName的值传给@UserNamecmd.Parameters.Add(new SqlParameter("@UserName",userName));cmd.Parameters.Add(new SqlParameter("@Password",password));//打开数据库连接,添加后解决conn关闭异常conn.Open();//若要创建 SqlDataReader,必须调用 SqlCommand 对象的 ExecuteReader 方法,而不要直接使用构造函数。SqlDataReader reader = cmd.ExecuteReader();//使用实体类传递信息,初始值为nullLogin.Model.UserInfo user = null;while (reader.Read()){//判断有查询结果时if (user==null){user = new Login.Model.UserInfo();}//赋值user.ID = reader.GetInt32(0);user.UserName = reader.GetString(1);user.Password = reader.GetString(2);  if (!reader.IsDBNull(3)){user.Email = reader.GetString(3);}}return user;}}

博文至此,关于ADO.NET的知识就介绍完了,有不足的地方欢迎评论区留言。如果本篇博客对您有一定的帮助,大家记得留言+点赞哦。


http://chatgpt.dhexx.cn/article/roppXNIv.shtml

相关文章

DataAdapter与DataReader(区别与运用)

DataAdapter是数据访问适配器,适配了数据库和应用程序之间的隔阂。将数据一次加载到内存后便断开与数据库的连接。不适用于大量数据读取,在读取大量数据的过程中,要是出现数据量超越内存容量便会卡死。DataAdapter是DataReader封装而来的。 D…

DataReader的详细用法

1 // DataReader的详细用法 2 cmd.CommandText " GetInfo " ; 3 cmd.CommandType CommandType.StoredProcedure; 4 SqlParameter param cmd.Parameters.Add( " Fid " , 16 ); 5 param cmd.Parameters.Add( " Fname " ,SqlDbType…

read data

将82078置于读数据模式需要一组九(9)个字节。 发出READ DATA命令后,82078加载磁头(如果它处于卸载状态),等待指定的磁头稳定时间(在SPECIFY命令中定义),并开始读取ID地址…

pandas-datareader

pandas-datareader介绍 Pandas库提供了专门从财经网站获取金融数据的API接口,可作为量化交易股票数据获取的另一种途径,该接口在urllib3库基础上实现了以客户端身份访问网站的股票数据。需要注意的是目前模块已经迁徙到pandas-datareader包中&#xff0…

DataReader

DataReader类概述 DataReader 类在 System.Data.SqlClient 命名空间中,对应的类是 SqlDataReader,主要用于读取表中的查询结果,并且是以只读方式读取的(即不能修改 DataReader 中存放的数据)。 正是由于 DataReader 类…

C#之读取数据:DataReader对象

上一篇涉及到Command对象的ExecuteReader()方法返回一个DataReader对象,那么我们就来详细的介绍这个DataReade对象。 下面的例子使用的数据表依然与上篇的相同为CustomerManagement数据库中的manager数据表: DataReader对象概述 DataReader对象提供了顺序…

C# DataReader读取查询

C# DataReader:读取查询结果 在C# 中 DataReader 类的作用是读取查询结果,与在《C# Command》一节中介绍的 Command 类 中的 ExecuteReader 方法一起使用。 下面来介绍一下 DataReader 类中常用的属性和方法,以及如何使用该类查询表中的数…

DataReader用法

转载自:http://www.studyofnet.com/news/693.html 本文导读:DataReader对象只允许以只读、顺向的方式查看其中所存储的数据,提供一个非常有效率的数据查看模式,Datareader对象不能关使用new关键字创建。但可以使用ExecuteReader&a…

C语言初阶-C语言中static的用法

目录 前言 1.static的定义 2.static修饰局部变量 2.static修饰全局变量 3.static修饰函数 总结: 前言 哈喽,大家好,我是大鹏,目前是一名大二的学生,今天给大家带来的是static的用法,希望大家给个关注…

C语言关键字之static

static是C语言中得一个关键字。 它的使用有三种情况:修饰局部变量、全局变量、函数。 修饰局部变量:改变存储属性 普通的局部变量是存放在栈中的,而被static修饰的变量是存放在数据段中的。 放在数据段中的具体位置具体分析:已…

c语言 static运用,灵活改变生命周期,让你写代码如鱼得水

在C语言中static是非常重要的一个关键字 static意为静态的,它的用法基本分为三种 1. 修饰局部变量(改变局部变量的生命周期) 2. 修饰全局变量(使全局变量仅作用于当前源文件) 3. 修饰函数(使函数仅作用…

c语言staticint的作用,C语言 static 声明静态变量?大佬原来用它干这事!

原标题:C语言 static 声明静态变量?大佬原来用它干这事! C语言可变参数只会用算啥本事?看我来抽丝剥茧干翻它! 高手在写代码的时候,会特别注重的一点就是,对外的方法对外,不对外的方…

C语言static和extern关键字

1.static static修饰的变量,自始至终只有一块空间,当前文件才能使用,生命周期是从定义开始直到程序结束;全局变量的定义是在.c文件中,但是声明全局变量是在.h中;static:静态型,用它定…

C语言static关键字修饰变量及函数时的用法和原理

目录 一.static关键字修饰局部变量 二.static关键字修饰全局变量 三.static关键字修饰函数 一.static关键字修饰局部变量 在内存中,往往将其分为三个区块,栈区,堆区,静态区。C语言中定义的局部变量包括函数参数都存储在栈区&am…

C语言 static的使用

你知道C语言中 static 有几种用法&#xff1f; 目录 1. static 可以修饰局部变量 2. static 可以修饰全局变量 3. static 可以修饰函数 1.static 可以修饰局部变量 首先让我看看这段代码 #include<stdio.h> void test() {int a 1;a a 1;printf("%d", a);…

C语言 Static关键字的作用详解

前言&#xff1a; static 是用来修饰函数和变量的&#xff0c;可以修饰局部变量&#xff0c;全局变量以及函数 一、修饰局部变量 &#xff08;称为静态局部变量&#xff09; 来看俩段代码&#xff1a; 对于第一段代码来说&#xff0c;它循环5次&#xff0c;每次调用一下fun(…

[深度解剖C语言] --关键字 static

static ---最名不副实的关键字 目录 1.static修饰全局变量 2.static修饰函数 3.static修饰局部变量 static的作用&#xff1a; 1.static修饰全局变量 我们创建两个源文件&#xff0c;一个test.c&#xff0c;一个main.c 现在我们在test.c文件下定义一个全局变量 int g_va…

C语言中static的用法(修饰局部变量,修饰全局变量,修饰函数)

static 关键字有三种用法 static 修饰局部变量 - 静态局部变量static 修饰全局变量 - 静态全局变量static 修饰函数 - 静态函数 static 关键字的三种用法 1. static 修饰局部变量 - 静态局部变量2. static 修饰全局变量 - 静态全局变量3. static 修饰函数 - 静态函数 1. stati…

带你熟知关键字static用法——C语言(举例及通俗易懂)

引入 首先我们看两个例子&#xff1a; 例1 #include<stdio.h> void test() {int i 0;i;printf("%d", i); } int main() {int a 0;while (a < 10){test();a;}return 0; } 例2 #include<stdio.h> void test() {static int i 0;i;printf("%d…

【C语言】 Static关键字的用法和详解(太细了!!!)

文章目录 目录 前言 一、static是什么 二、static的用法 1.修饰局部变量 2.修饰全局变量 3.修饰函数 总结 前言 static在不同的语言中又有不同的使用方法&#xff0c;本文介绍的是static在C语言当中的用法。 一、static是什么 static在C语言中是关键字&#xff0c;中…