C#连接SQL Sever数据库详细图文教程

 更新时间:2023年06月05日 11:35:15   作者:派大星啦啦啦  
C#是Microsoft公司为.NET Framework推出的重量级语言,和它搭配最完美的数据库无疑就是Microsoft SQL Server了,下面这篇文章主要给大家介绍了关于C#连接SQL Sever数据库的详细图文教程,需要的朋友可以参考下

一丶Sql Sever数据库

获取服务器名,用户名,密码以及你要访问的数据库

二丶C#

1.新建一个项目(控制台应用)

2. 引入相关命名空间

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

3.访问数据库

我的数据库的信息:

服务器名:DESKTOP-56DN3HD

登录名:Csharp

密码:123456

数据库名:LibraryManagementSystem

方法一

// 声明一个SqlConnectionStringBuilder对象
SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder();
scsb.DataSource = "DESKTOP-56DN3HD";    // 设置数据源服务器
scsb.UserID = "Csharp";     // 设置用户名
scsb.Password = "123456"; // 密码
scsb.InitialCatalog = "LibraryManagementSystem"; // 设置要访问的数据库

方法二

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

(1)是数据源服务器

(2)是要访问的数据库 (Database改为Initial Catalog也可以)

(3)是用户名

(4)是密码

string ConStr = "Data Source = DESKTOP-56DN3HD; Database = LibraryManagementSystem;"
                + "User Id = Csharp; Password = 123456";

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

string ConnStr = "server = DESKTOP-56DN3HD; Database = LibraryManagementSystem;"
	+"Trusted_Connection = SSPI";

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

根据上面两种方法不同创建连接的方法也不同

方法一

方法一的 scsb 由于不是string类型,所以需要使用ToString()方法

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

方法二

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

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

打开数据库的时候注意需要捕捉异常

try
{
	sqlConnection.Open();
}
catch(Exception ex)
{
    Console.WriteLine(ex.Message);
}

5.执行SQL查询语句

// 1、创建要执行的SQL查询语句
string find = "SELECT * FROM Table_User WHERE ID = '" + str + "'";

// 2、创建用于执行SQL查询语句的对象
SqlCommand cmd = new SqlCommand(find,SqlCon);//创建执行语句// 参数1:SQL语句字符串。参数2:已经打开的数据库

// 3、执行对象的SQL查询语句并接受结果
SqlDataReader dr = cmd.ExecuteReader();//执行

// 4、读取结果的数据
while(dr.Read())
            {
                Console.WriteLine("ID: " + dr["ID"].ToString());
                Console.WriteLine("name: " + dr["name"].ToString());
            }

三丶源码

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 = "DESKTOP-56DN3HD";    // 设置数据源服务器
            scsb.UserID = "Csharp";     // 设置用户名
            scsb.Password = "123456"; // 密码
            scsb.InitialCatalog = "LibraryManagementSystem"; // 设置要访问的数据库

            // 方法二
            string ConStr = "Data Source = DESKTOP-56DN3HD; Database = LibraryManagementSystem;"
                + "User Id = Csharp; Password = 123456";

            // 创建连接
            SqlConnection SqlCon = new SqlConnection(scsb.ToString());
            // 打开数据库
            SqlCon.Open();
            if(SqlCon.State == ConnectionState.Open)
            {
                Console.WriteLine("数据库已打开");
            }

            Console.WriteLine("请输入要查询的编号");

            string str = Console.ReadLine();

            string find = "SELECT * FROM Table_User WHERE ID = '" + str + "'";
            //sql查询语句
            
            SqlCommand cmd = new SqlCommand(find,SqlCon);//创建执行语句

            SqlDataReader dr = cmd.ExecuteReader();//执行

            while(dr.Read())
            {
                Console.WriteLine("ID: " + dr["ID"].ToString());
                Console.WriteLine("name: " + dr["name"].ToString());
            }

            // 关闭数据库
            SqlCon.Close();
            if (SqlCon.State == ConnectionState.Closed)
            {
                Console.WriteLine("数据库已关闭");
            }

            Console.ReadKey();
        }
    }
}

四丶常用语句

1、设置连接字符串

string sqlConnStr = "Data Source=服务器名;Initial Catalog=数据库名;User ID=用户名;Password=密码";//用户密码登录
//或
string sqlConnStr = "Data Source=服务器名;Initial Catalog=数据库名;Integrated Security=true;//主机用户登录 IntegratedSecurity这个字段表示是否使用用户名密码登录

2、获取数据库连接

using System.Data.SqlClient;
SqlConnection sqlConnection = new SqlConnection(sqlConnStr);

3、打开数据库连接

try
{
	sqlConnection.Open();
}
catch(Exception ex)
{
    Console.WriteLine(ex.Message);
}

打开数据库的时候注意需要捕捉异常

4、进行SQL语句执行

4.1、获取count计数

string sql = "select 1";
SqlCommand cmd = new SqlCommand();//创建SQL语句处理对象
//或SqlCommand cmd = new SqlCommand(sql,sqlConnection);//构造函数绑定
cmd.Connection = sqlConnection;//绑定连接
cmd.CommandText = sql;//绑定SQL语句
int count = (int)cmd.ExecuteScalar();

ExecuteScalar() : 作用是获取返回表上的第一个单元格的数据

4.2、获取多列数据ExecuteReader()

string sql = "select 1,2,3";
//省略绑定
SqlDataReader sqlDataReader = cmd.ExecuteReader();//数据对象
while (sqlDataReader.Read())//read方法 :前进到下一条记录  并且是否有下一行记录
{
    int a =(int)sqlDataReader[0];
    int a =(int)sqlDataReader[1];
    int a =(int) sqlDataReader[2];//索引从0开始,按单元格检索
    // int a = sqlDataReader["字段名"];使用数据库中的字段名同样可以
}

ExecuteReader() : 执行SQL 语句返回一个sqlDataReader传递数据

4.3、执行增删改操作ExecuteNonQuery()

string sql = delete from [数据库];
//省略绑定步骤
int line = cmd.ExecuteNonQuery();//返回记录更改的行数

5、关闭连接或者流

if (sqlDataReader != null)
{
    sqlDataReader.Close();
}
if (cmd != null)
{
    cmd.Dispose();
}
if (sqlConnection != null)
{
    sqlConnection.Close();
}

五丶常用SQL语句

1、增

insert into [表名](字段1,字段2···) values(值1,值2···);

2、删

delete from [表名] where [条件]

3、改

update [表名] set 字段名 = 值 ,第二个修改 where [条件]

4、查

select * from [数据库] where [字段名] = 值;

总结

到此这篇关于C#连接SQL Sever数据库的文章就介绍到这了,更多相关C#连接SQLSever数据库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C#多线程编程中的锁系统(二)

    C#多线程编程中的锁系统(二)

    这篇文章主要介绍了C#多线程编程中的锁系统(二),本文讲解了volatile、Interlocked、ReaderWriterLockSlim等升级锁和原子操作的使用实例,需要的朋友可以参考下
    2015-04-04
  • C#递归题目实例代码

    C#递归题目实例代码

    这篇文章主要介绍了C#递归题目实例代码,有需要的朋友可以参考一下
    2014-01-01
  • WPF中的导航框架概述

    WPF中的导航框架概述

    这篇文章介绍了WPF中的导航框架,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • C#8 的模式匹配实现

    C#8 的模式匹配实现

    这篇文章主要介绍了C#8 的模式匹配实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • 支持多类型数据库的c#数据库模型示例

    支持多类型数据库的c#数据库模型示例

    本文为大家提供一个c#数据库访问模型,支持多类型数据库,简单抽取数据库访问函数,大家参考使用吧
    2014-01-01
  • C#实现解压GZip文件的方法

    C#实现解压GZip文件的方法

    这篇文章主要介绍了C#实现解压GZip文件的方法,涉及C#操作压缩文件的技巧,需要的朋友可以参考下
    2015-05-05
  • Unity3D使用陀螺仪控制节点旋转

    Unity3D使用陀螺仪控制节点旋转

    这篇文章主要为大家详细介绍了Unity3D使用陀螺仪控制节点旋转,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • Unity实现Flappy Bird游戏开发实战

    Unity实现Flappy Bird游戏开发实战

    这篇文章主要为大家详细介绍了Unity实现Flappy Bird游戏开发实战,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • C#关机小程序源码

    C#关机小程序源码

    这是用所学习的C#做的一个关机小程序,功能不多,只是为了练手,需要的朋友可以参考下
    2012-10-10
  • C# 对PDF文档加密、解密(基于Spire.Cloud.SDK for .NET)

    C# 对PDF文档加密、解密(基于Spire.Cloud.SDK for .NET)

    这篇文章主要介绍了C# 基于Spire.Cloud.SDK for .NET对PDF文档进行加密解密,文中讲解非常细致,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07

最新评论