0


【C#】使用C#连接SQL Server

一、提前准备好数据库

1. 连接数据库服务器

在这里插入图片描述

这里我使用的是SQL Server 身份验证(也可使用windows 身份验证)
账户信息如下:
登录名:sa
密码:mima(输入时自动隐藏)

2. 建立数据库和表

在这里插入图片描述

这里我的数据库信息如下:
服务器名:HG66\MSSQLSERVER01
数据库名:DataBase01
表名:Table_1
三个属性分别为:ID、姓名、年龄

二、创建项目并引入命名空间

1. 创建一个项目(这里以控制台应用为例)

建议创建以 .NET Framework 为框架的项目,否则可能会出现“找不到类型名“SqlConnection“”这样的错误,原因为没有使用 .NET Framework 框架的项目默认没有引入和SQL相关的命名空间在这里插入图片描述
在这里插入图片描述
解决方法:【C#】找不到类型名“SqlConnection“的解决方法

2. 引入相关命名空间

usingSystem.Data;// 表的命名空间usingSystem.Data.SqlClient;// 和SQL相关的命名空间

三、使用ADO.NET访问数据库

1. 配置连接信息

在第一部分,已经知道了我数据库的信息:
服务器名:HG66\MSSQLSERVER01
登录名:sa
密码:mima
数据库名:DataBase01

方法一

先声明一个SqlConnectionStringBuilder对象,再设置这个对象的属性

// 声明一个SqlConnectionStringBuilder对象SqlConnectionStringBuilder scsb =newSqlConnectionStringBuilder();
scsb.DataSource ="HG66\\MSSQLSERVER01";// 设置数据源服务器,注意这里的单斜线变双斜线了
scsb.UserID ="sa";// 设置用户名
scsb.Password ="mima";// 设置密码
scsb.InitialCatalog ="DataBase01";// 设置要访问的数据库

方法二

先声明一个字符串,再设置字符串的值,字符串的值符合下面这个式子

"Data Source = (1); Database = (2); User Id = (3); Password = (4)"

(1)是数据源服务器
(2)是要访问的数据库 (Database改为Initial Catalog也可以)
(3)是用户名
(4)是密码

string ConStr ="Data Source = HG66\\MSSQLSERVER01; Database = DataBase01;"+"User Id = sa; Password = mima";

上面这种输入用户名和密码的是使用了 SQL Server 身份验证,如果要使用 windows 身份验证,只需要将 “User Id = sa; Password = mima” 改为 “Trusted_Connection = SSPI” 或 “Integrated Security = SSPI”

string ConnStr ="server = HG66\\MSSQLSERVER01; Database = DataBase01;"+"Trusted_Connection = SSPI";

2. 创建连接并打开数据库

使用方法一的 scsb 或方法二的 ConStr 来创建连接,创建连接后,需要通过这个连接打开数据库,这样才能操作数据库
方法一的 scsb 由于不是string类型,所以需要使用ToString()方法

// 创建连接SqlConnection SqlCon =newSqlConnection(scsb.ToString());// 打开数据库
SqlCon.Open();

方法二的 ConStr 可以直接作为参数传进去

// 创建连接SqlConnection SqlCon =newSqlConnection(ConStr);// 打开数据库
SqlCon.Open();

3. 执行SQL查询语句

我现有数据库的数据如下
在这里插入图片描述
假设我们要查找年龄为60的人的所有信息,在数据库应用中的操作如下
在这里插入图片描述
但是使用C#的话,①我们需要先使用一个字符串来存储SQL查询语句,②再通过这个字符串和已经打开的数据库来创建用于执行SQL语句的对象,此时的对象并未执行SQL查询语句,而是已经封装好,③于是我们执行对象的SQL查询语句并接受结果,④最后读取结果里的数据并输出

// 1、创建要执行的SQL查询语句string str ="select * from table_1 where 年龄 = 60";// 2、创建用于执行SQL查询语句的对象SqlCommand SqlCom =newSqlCommand(str, SqlCon);// 参数1:SQL语句字符串。参数2:已经打开的数据库// 3、执行对象的SQL查询语句并接受结果SqlDataReader Sdr = SqlCom.ExecuteReader();// 4、读取结果的数据while(Sdr.Read()){
    Console.WriteLine("编号:"+ Sdr["ID"].ToString());
    Console.WriteLine("姓名:"+ Sdr["姓名"].ToString());
    Console.WriteLine("年龄:"+ Sdr["年龄"].ToString());}

如果所有的操作已完成,不要忘了关闭数据库

// 关闭数据库
SqlCon.Close();

运行程序,结果如下,查询的结果与数据库应用中查询的结果相同
在这里插入图片描述

本程序的源码如下

usingSystem;usingSystem.Data;// 表的命名空间usingSystem.Data.SqlClient;// 和SQL相关的命名空间namespaceConsoleApp1{internalclassProgram{staticvoidMain(string[] args){// 方法一SqlConnectionStringBuilder scsb =newSqlConnectionStringBuilder();
            scsb.DataSource ="HG66\\MSSQLSERVER01";// 设置数据源服务器
            scsb.UserID ="sa";// 设置用户名
            scsb.Password ="mima";// 密码
            scsb.InitialCatalog ="DataBase01";// 设置要访问的数据库// 方法二string ConStr ="Data Source = HG66\\MSSQLSERVER01; Database = DataBase01;"+"User Id = sa; Password = mima";// 创建连接SqlConnection SqlCon =newSqlConnection(ConStr);// 打开数据库
            SqlCon.Open();// 1、创建要执行的SQL语句string str ="select * from table_1 where 年龄 = 60";// 2、创建用于执行SQL语句的对象SqlCommand SqlCom =newSqlCommand(str, SqlCon);// 3、执行SQL语句并接受结果SqlDataReader Sdr = SqlCom.ExecuteReader();// 4、读取结果的数据while(Sdr.Read()){
                Console.WriteLine("编号:"+ Sdr["ID"].ToString());
                Console.WriteLine("姓名:"+ Sdr["姓名"].ToString());
                Console.WriteLine("年龄:"+ Sdr["年龄"].ToString());}// 关闭数据库
            SqlCon.Close();

            Console.ReadKey();}}}
标签: c# 数据库

本文转载自: https://blog.csdn.net/weixin_51585785/article/details/124671493
版权归原作者 霍瑟夫 所有, 如有侵权,请联系我们删除。

“【C#】使用C#连接SQL Server”的评论:

还没有评论