• C# 连接SQL Sever 数据库


    一丶Sql Sever数据库

    在这里插入图片描述
    获取服务器名,用户名,密码以及你要访问的数据库

    二丶C#

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

    在这里插入图片描述

    2. 引入相关命名空间

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

    3.访问数据库

    我的数据库的信息:
    服务器名:DESKTOP-56DN3HD
    登录名Csharp
    密码:123456
    数据库名:LibraryManagementSystem

    方法一
    // 声明一个SqlConnectionStringBuilder对象
    SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder();
    scsb.DataSource = "DESKTOP-56DN3HD";    // 设置数据源服务器
    scsb.UserID = "Csharp";     // 设置用户名
    scsb.Password = "123456"; // 密码
    scsb.InitialCatalog = "LibraryManagementSystem"; // 设置要访问的数据库
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    方法二
    "Data Source = (1); Database = (2); User Id = (3); Password = (4)"
    
    • 1
    • (1)是数据源服务器
    • (2)是要访问的数据库 (Database改为Initial Catalog也可以)
    • (3)是用户名
    • (4)是密码
    string ConStr = "Data Source = DESKTOP-56DN3HD; Database = LibraryManagementSystem;"
                    + "User Id = Csharp; Password = 123456";
    
    • 1
    • 2

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

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

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

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

    方法一

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

    // 创建连接
    SqlConnection SqlCon = new SqlConnection(scsb.ToString());
    // 打开数据库
    SqlCon.Open();
    
    • 1
    • 2
    • 3
    • 4
    方法二

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

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

    打开数据库的时候注意需要捕捉异常
    try
    {
    	sqlConnection.Open();
    }
    catch(Exception ex)
    {
        Console.WriteLine(ex.Message);
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    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());
                }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    三丶源码

    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
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61

    四丶常用语句

    1、设置连接字符串
    string sqlConnStr = "Data Source=服务器名;Initial Catalog=数据库名;User ID=用户名;Password=密码";//用户密码登录
    //或
    string sqlConnStr = "Data Source=服务器名;Initial Catalog=数据库名;Integrated Security=true;//主机用户登录 IntegratedSecurity这个字段表示是否使用用户名密码登录
    
    • 1
    • 2
    • 3
    2、获取数据库连接
    using System.Data.SqlClient;
    
    SqlConnection sqlConnection = new SqlConnection(sqlConnStr);
    
    • 1
    • 2
    • 3
    3、打开数据库连接
    try
    {
    	sqlConnection.Open();
    }
    catch(Exception ex)
    {
        Console.WriteLine(ex.Message);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

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

    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();
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    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["字段名"];使用数据库中的字段名同样可以
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

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

    4.3、执行增删改操作ExecuteNonQuery()
    string sql = delete from [数据库];
    //省略绑定步骤
    int line = cmd.ExecuteNonQuery();//返回记录更改的行数
    
    • 1
    • 2
    • 3
    5、关闭连接或者流
    if (sqlDataReader != null)
    {
        sqlDataReader.Close();
    }
    if (cmd != null)
    {
        cmd.Dispose();
    }
    if (sqlConnection != null)
    {
        sqlConnection.Close();
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    五丶常用SQL语句

    1、增

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

    2、删

    delete from [表名] where [条件]
    
    • 1

    3、改

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

    4、查

    select * from [数据库] where [字段名] =;
    
    • 1
  • 相关阅读:
    汽车电子专业知识篇(五十九)-一文带你全面了解汽车电脑ECU的内部构成、功能模块
    mac flutter 配置
    -星号梯形-
    使用fastlane match自动化管理证书和描述文件
    FreeRTOS简介
    黑马JVM总结(二十)
    基于vue3的Crontab组件
    如何理解my_map.yaml中origin的含义
    Python【判断列表的存在与否关系】
    关于Go你不得不知道的小技巧
  • 原文地址:https://blog.csdn.net/qq_44544908/article/details/126982726