C#连接到SQL Server数据库

时间:2022-12-08 07:58:32

理论知识

使用ADO.NET(ActiveX Data Objects)可以减少不同数据库系统带来的琐碎事情。

ADO.NET是一组公开数据访问服务的类。

主要组成:

  1. .NET 数据提供程序:可以实现数据操作和对数据的快速,只进只读访问。
  2. DataSet (数据集):ADO.NET的断开式结构的核心组件。

.NET 数据提供程序的四大核心对象:

  1. Connection对象:用于开启程序和数据库之间的连接。
  2. Command对象:用于对数据库发出一些操作指令。列如:增删查改
  3. DataAdapter对象:在数据源和DataSet之间执行数据传输工作。在Command对象下达命令后将返回的数据放入DataSet(数据集)中。
  4. DataReader对象:当只需逐一读取数据而不需要其他操作时,可以使用该对象,该对象每次只从数据源中提取一条记录。

实际操作

要连接数据库的话需要导入一个类:

System.Data.SqlClient;

如果要实现下面代码中的if判断效果还要导入类:

System.Data; 

需要注意的话都写在注释里了,自己去看吧:

static void Main(string[] args)
        {
            Console.WriteLine("请输入你要连接的数据库名:");
            string sqlName = Console.ReadLine();
            //第一步创建SqlConnection对象,第二步输入输入连接的字符串,
            //也可以把字符串写在外面,把字符串赋给该类里面ConnectionString的字段
            //连接数据库的字符串 大小写可以
            SqlConnection con = new SqlConnection($"server=.;database={sqlName};Uid=sa;pwd=zx20040825");
            #region
            //State这个是调用ConnectionState类中的SqlConnection类里面的一个字段,
            //表示最近在连接上执行网络操作时表示SqlConnection的状态,返回结果是一个ConnectionState枚举

            //当连接关闭时,Closed返回的时0,
            #endregion
            if (con.State == ConnectionState.Closed)
            {
                //第三步用该类提供Open()方法连接到数据库
                con.Open();
                Console.WriteLine("连接成功。");
            }
            else
            {
                Console.WriteLine("此数据库已连接。");
                //Close()方法用于关闭数据库的连接
                con.Close();
                Console.WriteLine("已自动断开数据库。");
            }

            Console.ReadLine();
        }

注意:不同的数据库连接字符串,其格式不同。

SQL Server数据库的连接字符串的一般格式如下,

语法:Data Source(server)=服务器名称或IP地址;Initial Catalog(database)=数据库名;User ID(Uid)=用户名;pwd=密码

如果你的用Windows身份登入,那么用户名和密码不用写,加上:trusted_connection=SSPI

扩展知识

1.NET数据提供程序包含用于访问各种数据源的数据对象,使用这些数据处理程序可以对数据库中的数据进行查询,更新,修改等操作。目前,有4种类型的.NET数据提供程序。

.NET数据提供程序及相应的连接类
.NET 数据提供程序 连接类 命名空间
SQL Server 数据提供程序 SqlConnection System.Data.SqlClient
OLE DB 数据提供程序 OleDbConnection System.Data.OleDb
ODBC 数据提供程序 OdbcConnection System.Data.Odbc
Oracle 数据提供程序 OracleConnection System.Data.Client