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

来自:网络
时间:2023-07-24
阅读:
目录

一丶Sql Sever数据库

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

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

二丶C#

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

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

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 [字段名] = 值;

总结

返回顶部
顶部