服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C# - 使用C#连接SQL Server的详细图文教程

使用C#连接SQL Server的详细图文教程

2023-03-09 14:03霍瑟夫 C#

初学者学习上位机开发遇到数据库连接不上,是很常见的情况,可能会以各种形式呈现出来,下面这篇文章主要给大家介绍了关于使用C#连接SQL Server的详细图文教程,需要的朋友可以参考下

一、提前准备好数据库

1. 连接数据库服务器

使用C#连接SQL Server的详细图文教程

这里我使用的是SQL Server 身份验证(也可使用windows 身份验证)

账户信息如下:

登录名:sa

密码:mima(输入时自动隐藏)

2. 建立数据库和表

使用C#连接SQL Server的详细图文教程

这里我的数据库信息如下:

服务器名:HG66MSSQLSERVER01

数据库名:DataBase01

表名:Table_1

三个属性分别为:ID、姓名、年龄

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

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

建议创建以 .NET Framework 为框架的项目,否则可能会出现“找不到类型名“SqlConnection“”这样的错误,原因为没有使用 .NET Framework 框架的项目默认没有引入和SQL相关的命名空间

使用C#连接SQL Server的详细图文教程

使用C#连接SQL Server的详细图文教程

解决方法:【C#】找不到类型名“SqlConnection“的解决方法

2. 引入相关命名空间

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

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

1. 配置连接信息

在第一部分,已经知道了我数据库的信息:

服务器名:HG66MSSQLSERVER01

登录名:sa

密码:mima

数据库名:DataBase01

方法一

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

// 声明一个SqlConnectionStringBuilder对象
SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder();
scsb.DataSource = "HG66MSSQLSERVER01";    // 设置数据源服务器,注意这里的单斜线变双斜线了
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 = HG66MSSQLSERVER01; Database = DataBase01;"
	+"User Id = sa; Password = mima";

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

string ConnStr = "server = HG66MSSQLSERVER01; Database = DataBase01;"
	+"Trusted_Connection = SSPI";

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

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

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

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

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

3. 执行SQL查询语句

我现有数据库的数据如下

使用C#连接SQL Server的详细图文教程

假设我们要查找年龄为60的人的所有信息,在数据库应用中的操作如下

使用C#连接SQL Server的详细图文教程

但是使用C#的话,①我们需要先使用一个字符串来存储SQL查询语句,②再通过这个字符串和已经打开的数据库来创建用于执行SQL语句的对象,此时的对象并未执行SQL查询语句,而是已经封装好,③于是我们执行对象的SQL查询语句并接受结果,④最后读取结果里的数据并输出

// 1、创建要执行的SQL查询语句
string str = "select * from table_1 where 年龄 = 60";

// 2、创建用于执行SQL查询语句的对象
SqlCommand SqlCom = new SqlCommand(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();

运行程序,结果如下,查询的结果与数据库应用中查询的结果相同

使用C#连接SQL Server的详细图文教程

本程序的源码如下

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


namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 方法一
            SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder();
            scsb.DataSource = "HG66MSSQLSERVER01";    // 设置数据源服务器
            scsb.UserID = "sa";     // 设置用户名
            scsb.Password = "mima"; // 密码
            scsb.InitialCatalog = "DataBase01"; // 设置要访问的数据库

            // 方法二
            string ConStr = "Data Source = HG66MSSQLSERVER01; Database = DataBase01;"
                + "User Id = sa; Password = mima";

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

            // 1、创建要执行的SQL语句
            string str = "select * from table_1 where 年龄 = 60";

            // 2、创建用于执行SQL语句的对象
            SqlCommand SqlCom = new SqlCommand(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#连接SQL Server的文章就介绍到这了,更多相关C#连接SQL Server内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文地址:https://blog.csdn.net/weixin_51585785/article/details/124671493

延伸 · 阅读

精彩推荐
  • C#在C#中捕获内存不足异常

    在C#中捕获内存不足异常

    这篇文章主要介绍了在C#中捕获内存不足异常,下面文章内容围绕如何在C#中捕获内存不足异常的相关资料展开详细内容,具有一定的参考价值,需要的小伙...

    conan5182022-12-14
  • C#unity 如何获取Text组件里text内容的长度

    unity 如何获取Text组件里text内容的长度

    这篇文章主要介绍了unity 获取Text组件里text内容的长度操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    贪玩的孩纸时代6272022-11-13
  • C#HashTable、HashSet和Dictionary的区别点总结

    HashTable、HashSet和Dictionary的区别点总结

    在本篇文章里小编给大家整理的是关于HashTable、HashSet和Dictionary的区别点,需要的朋友们可以学习下。...

    大龙哥5862022-08-29
  • C#使用c#实现随机数猜数游戏的示例代码

    使用c#实现随机数猜数游戏的示例代码

    这篇文章主要介绍了使用c#实现随机数猜数游戏的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的...

    皮套超人12112022-10-10
  • C#快速了解如何在.NETCORE中使用Generic-Host建立主机

    快速了解如何在.NETCORE中使用Generic-Host建立主机

    这篇文章主要介绍了如何在.NETCORE中使用Generic-Host建立主机,文中代码非常详细,可供大家参考,感兴趣的朋友不妨阅读完...

    蝴蝶刀刀8272022-09-08
  • C#C#遍历文件夹获取指定后缀名文件

    C#遍历文件夹获取指定后缀名文件

    这篇文章主要为大家详细介绍了C#遍历文件夹获取指定后缀名文件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    cell0065712022-07-14
  • C#C#实现在PDF文档中应用多种不同字体

    C#实现在PDF文档中应用多种不同字体

    在PDF文档中,可绘制不同字体样式、不同语言的文字,可通过使用Standard字体、TrueType字体、CJK字体或者自定义(私有)等字体类型。本文将具体介绍实现的...

    E-iceblue5312022-12-21
  • C#C#视频转换类分享

    C#视频转换类分享

    这篇文章主要为大家分享了C#视频转换类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    孤者自清7322022-01-11