一、连接数据库服务器
1.连接SQL服务器:
以下面为例:
![](https://img-blog.csdnimg.cn/img_convert/93238dd8f05a9875013d9aa287b02b96.png)
这里我使用的是SQL Server 身份验证(也可使用windows 身份验证)
账户信息如下:
登录名:sa
密码:mima(输入时自动隐藏)
2.建立好数据库和表:
![](https://img-blog.csdnimg.cn/img_convert/f17dc2987c24e83d5e063009ff4f4037.png)
服务器名:HG66\MSSSQLSERVER01
数据库名:DataBase01
表名:dbo.Table_1
属性:ID,姓名,年龄
二、创建项目并引入命名空间
1.创建项目
以 .NET Framework 为框架的项目,否则可能会出现“找不到类型名“SqlConnection””这样的错误,原因为没有使用 .NET。
![](https://img-blog.csdnimg.cn/img_convert/f936cab0a4d54d995d44b021a9e4d64c.png)
2.引入相关命名空间
using System.Data; // 表的命名空间
using System.Data.SqlClient; // 和SQL相关的命名空间
三、使用ADO.NET访问数据库
配置连接信息
首先要知道数据库的以下信息:
登录名:sa
密码:mima
服务器名:HG66\MSSSQLSERVER01
数据库名:DataBase01
方法1:先声明一个SqlConnectionStringBuilder对象,再设置其属性
// 声明一个SqlConnectionStringBuilder对象
SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder();
scsb.DataSource = "HG66\\MSSQLSERVER01"; // 设置数据源服务器,注意这里的单斜线变双斜线了
scsb.UserID = "sa"; // 设置用户名
scsb.Password = "mima"; // 设置密码
scsb.InitialCatalog = "DataBase01"; // 设置要访问的数据库
方法2:先声明一个字符串,在确定字符串的值
"Data Source = (数据源服务器); Database = (数据库名称); User Id = (用户名); Password = (密码)"
验证方法:
这种输入用户名和密码的是使用了 SQL Server 身份验证
string ConStr = "Data Source = HG66\\MSSQLSERVER01; Database = DataBase01;"
+"User Id = sa; Password = mima";
如果要使用 windows 身份验证,只需要将 “User Id = sa; Password = mima” 改为 “Trusted_Connection = SSPI” 或 “Integrated Security = SSPI”
string ConnStr = "server = HG66\\MSSQLSERVER01; Database = DataBase01;"
+"Trusted_Connection = SSPI";
2.创建连接并打开数据库
方法1:使用scsb方法创建连接,由于scsb不是String类型,所以要用ToString()方法
// 创建连接
SqlConnection SqlCon = new SqlConnection(scsb.ToString());
// 打开数据库
SqlCon.Open();
方法2:用Constr方法创建连接,Constr可直接作为参数传进去
// 创建连接
SqlConnection SqlCon = new SqlConnection(ConStr);
// 打开数据库
SqlCon.Open();
3.执行SQL查询语句
使用C#的话,
①我们需要先使用一个字符串来存储SQL查询语句;
②再通过这个字符串和已经打开的数据库来创建用于执行SQL语句的对象,此时的对象并未执行SQL查询语句,而是已经封装好;
③于是我们执行对象的SQL查询语句并接受结果;
④最后读取结果里的数据并输出。
例:要查询60岁人的全部信息
// 1、创建要执行的SQL查询语句
string str = "select * from table_1 where 年龄 = 60";
// 2、创建用于执行SQL查询语句的对象
SqlCommand SqlCom = new SqlCommand(str, SqlCon);// 参数1:SQL语句字符串。参数2:已经打开的数据库
// 3、执行对象的SQL查询语句并接受结果
SqlDataReader Sdr = SqlCom.ExecuteReader();
// 4、读取结果的数据
while (Sdr.Read())
{
Console.WriteLine("编号:" + Sdr["ID"].ToString());
Console.WriteLine("姓名:" + Sdr["姓名"].ToString());
Console.WriteLine("年龄:" + Sdr["年龄"].ToString());
}
运行程序结果如下:
![](https://img-blog.csdnimg.cn/img_convert/3959f7fde1966221b3a553611682553f.png)
4.关闭数据库
SqlCon.Close();
四、本项目源码:
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 = "HG66\\MSSQLSERVER01"; // 设置数据源服务器
scsb.UserID = "sa"; // 设置用户名
scsb.Password = "mima"; // 密码
scsb.InitialCatalog = "DataBase01"; // 设置要访问的数据库
// 方法二
/*string ConStr = "Data Source = HG66\\MSSQLSERVER01; Database = DataBase01;"
+ "User Id = sa; Password = mima";*/
// 创建连接
SqlConnection SqlCon = new SqlConnection(ConStr);
// 打开数据库
SqlCon.Open();
// 1、创建要执行的SQL语句
string str = "select * from table_1 where 年龄 = 60";
// 2、创建用于执行SQL语句的对象
SqlCommand SqlCom = new SqlCommand(str, SqlCon);
// 3、执行SQL语句并接受结果
SqlDataReader Sdr = SqlCom.ExecuteReader();
// 4、读取结果的数据
while (Sdr.Read())
{
Console.WriteLine("编号:" + Sdr["ID"].ToString());
Console.WriteLine("姓名:" + Sdr["姓名"].ToString());
Console.WriteLine("年龄:" + Sdr["年龄"].ToString());
}
// 关闭数据库
SqlCon.Close();
Console.ReadKey();
}
}
}