ADO.NET 是C# 和数据库之间的桥梁,数据库可以是SQLServer\Oracle等。
第1节. ADO.NET程序集
.Net Framework中,SQL Server的操作是在System.Data.SqlClient程序集中。
.Net Core中,使用Microsoft.Data.SqlClient程序集。
第2节. 创建数据库和表
在SqlServer数据库创建一个名为AdoToMssqlDb的数据库。并在数据库中创建Student表。
--创建数据库
CREATE DATABASE AdoToMssqlDb;
GO
--切换数据库
USE AdoToMssqlDb;
GO
--创建表
CREATE TABLE Student
(
SId INT IDENTITY(1,1) PRIMARY KEY NOT NULL, --主键ID
SName NVARCHAR(20) NOT NULL, --学生姓名
SAge INT NOT NULL, --学生年龄
SSex BIT NOT NULL --学生性别,0 表示女 1表示男
)
GO
--添加数据
INSERT INTO Student(SName,SAge,SSex)VALUES('王强',20,1);
INSERT INTO Student(SName,SAge,SSex)VALUES('李茉莉',21,0);
INSERT INTO Student(SName,SAge,SSex)VALUES('马荣',29,0);
INSERT INTO Student(SName,SAge,SSex)VALUES('张小华',18,0);
--查询数据
SELECT * FROM Student;
第3节. 创建项目
Visual Studio 2022 IDE 创建新项目,选择“控制台应用”(跨平台),项目名称AdoNet.ToSQLServer。
- 安装程序包
打开NuGet包管理器->程序包管理器控制台,搜索安装 Microsoft.Data.SqlClient 程序包。
- 添加命名空间
Microsoft.Data.SqlClient 程序包添加到项目后,就可以使用其中的对象了。在Program类文件中添加 Microsoft.Data.SqlClient命名空间。
- 操作对象简介
- SqlConnection: 表示数据库连接对象,主要负责与SqlServer数据库服务器建立连接;
- SqlCommand: 表示命令对象,主要负责配置在数据库上执行的SQL语句或存储过程;
- SqlCommandBuilder: 自动生成操作数据的SQL语句,执行批量操作;
- SqlDataReader: 以数据流的方式读取表数据;
- SqlDataAdapter: 数据适配器,用于填充DataSet对象;
- SqlParameter: 为SQL语句或存储过程设置参数;
- SqlTranscation: 数据库事务的设置。
第4节. 数据库连接字符串
配置数据库连接字符串
- 连接字符串参数说明
数据库连接字符串,有多种形式,但参数就那么几个:
- Data Source: 用于指定远程SQL Server服务器的IP地址。如果同一台服务器,可以使用local或圆点(.)表示。
- Initial Catalog: 指定要操作的SqlServer服务器上的数据库名称;
- User ID: 简写为uid,用于指定数据库的用户名;
- Password: 简写为pwd,用于指定 User ID用户名的密码。
构建连接字符串
- SqlServer 身份验证的完整数据库连接字符串:
Data Soucre=192.168.10.101;Initial Catalog=AdoToMssqlDb;User
Id=sa;Password=123456;
- Windows身份验证的数据库连接
Data Soucre=.;Initial Catalog=AdoToMssqlDb;Integrated Security=True; 或
Data Source=.;Initial Catalog=AdoToMssqlDb;Integrated Security=SSPI;
其中 Integrated Security=ture/false; false需要在连接字符串中指定用于ID和密码,true则使用Windows账户凭据用于身份验证。
App.Config 配置文件
任何一款应用程序,对于数据库连接字符串都是配置在配置文件中。在.NET6控制台应用程序中,添加App.config 应用程序配置文件,用于存放SqlServer数据库连接字符串。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="DotNetConDb" connectionString="Data Source=.;Initial Catalog=AdoToMssqlDb;
uid=sa;pwd=123456;" providerName="Microsoft.Data.SqlClient"/>
</connectionStrings>
</configuration>
获取数据库连接字符串
App.config是一个特殊的XML文件,可以被 System.Configuration.ConfigurationManager程序集进行管理。通过NuGet包管理器添加此程序集。
添加System.Configuration命名空间,如下获取数据库连接字符串。
using Microsoft.Data.SqlClient;
using System.Configuration;
//读取数据库连接字符串
string connstr = ConfigurationManager.ConnectionStrings["DotNetConDb"].ConnectionString;
Console.WriteLine(connstr);
Console.ReadKey();
得到了数据库连接字符串,就可以实例化SqlConnection建立与SQLServer数据库服务器的连接。