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#微信开发之发送模板消息的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • C# Winform实现进度条显示

    C# Winform实现进度条显示

    这篇文章主要为大家详细介绍了C# Winform实现进度条显示,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • C#设计模式之简单工厂模式

    C#设计模式之简单工厂模式

    这篇文章介绍了C#设计模式之简单工厂模式,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • c#多种加解密示例(md5加密解密)

    c#多种加解密示例(md5加密解密)

    这篇文章主要介绍了c#多种加解密示例,包括了MD5加密,SHA1加密,DES加解密,需要的朋友可以参考下
    2014-03-03
  • 如何在C#中调用COM组件

    如何在C#中调用COM组件

    这篇文章主要介绍了如何在C#中调用COM组件,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • 基于WPF实现用户头像选择器的示例代码

    基于WPF实现用户头像选择器的示例代码

    这篇文章主要为大家详细介绍了如何基于WPF实现用户头像选择器,文中的示例代码简洁易懂,对我们学习WPF有一定帮助,感兴趣的可以了解一下
    2022-07-07
  • C#中文随机数实现方法

    C#中文随机数实现方法

    这篇文章主要介绍了C#中文随机数实现方法,涉及C#针对中文及随机数的相关操作技巧,需要的朋友可以参考下
    2015-06-06
  • C#程序调用C++动态库(dll文件)遇到的坑及解决

    C#程序调用C++动态库(dll文件)遇到的坑及解决

    这篇文章主要介绍了C#程序调用C++动态库(dll文件)遇到的坑及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • C#实现简单学生信息管理系统

    C#实现简单学生信息管理系统

    这篇文章主要为大家详细介绍了C#实现简单学生信息管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • C# 实现PPT 每一页转成图片过程解析

    C# 实现PPT 每一页转成图片过程解析

    这篇文章主要介绍了C# 实现PPT 每一页转成图片过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09

最新评论