使用ADO.NET访问数据库
ADO.NET简介
ADO.NET是.NET Framework中不可缺少的一部分,它是一组类。通过这些类,.NET应用程序就可以访问数据库。ADO.NET功能非常强大,它提供了对关系数据库、XML及其他数据存储的访问。应用程序可以通过ADO.NET技术与这些数据源进行连接,对数据进行增删改查等操作。
ADO.NET有一个非常大的优点,当它与数据源断开连接时也可以使用数据。ADO.NET可以把数据源检索到的数据保存在本地一个叫作“数据集”的地方,这样的应用程序就可以直接操作本地的数据,而数据源可以为更多的应用程序提供服务。这就是ADO.NET的断开连接模型。
ADO.NET两个主要组件
.NET Framework数据提供程序:
专门为数据处理及快速地只进、只读访问数据而设计的组件,使用它可以连接数据源,执行命令和检索结果,直接对数据源进行操作。
DataSet是专门为独立于任何数据源的数据访问而设计的。使用它,可以不必直接和数据源打交道,大批量操作数据,也可以将数据绑定在控件上。
.NET Framework 数据提供程序 | 说明 |
---|---|
SQL Server .NET 数据提供程序 | Microsoft SQL Server 数据源 System.Data.SqlClient 命名空间 |
OLE DB .NET 数据提供程序 | OLE DB 公开的数据源 System.Data.OleDb命名空间 |
ODBC .NET 数据提供程序 | ODBC 公开的数据源 System.Data.Odbc 命名空间 |
Oracle .NET 数据提供程序 | Oracle 数据源System.Data.OracleClient 命名空间 |
四个核心对象
Connection 建立与特定数据源的连接
操作SQL server对应的对象SqlConnection
Command 对数据源执行命令
操作SQL server对应的对象SqlCommand
DataReader 从数据源中读取只进且只读的数据流
操作SQL server对应的对象SqlDataReader
DataAdapter 用数据源填充DataSet并解析更新
操作SQL server对应的对象SqlDataAdapter
使用visual studio的服务资源管理器获得连接字符串
第一步:视图–服务器资源管理器 或者快捷键Ctrl+Alt+S
第二步:打开后,右键“数据连接”–添加连接
第三步:
下载安装完毕后,重新回到“添加连接”点击后
选择后,点击确定,在vs服务器资源管理器中添加了一个数据库连接
右键新添加的连接—属性
找到“连接字符串”
连接数据库实例
1、新建项目
新建一个控制台应用程序,项目名称
2、代码参考
从注释的代码后开始
namespace TestDBConnection
{
class Program
{
static void Main(string[] args)
{
//测试打开数据库的操作
string connString= "Data Source=.;Initial Catalog=MySchool_2;User ID=sa;Password=Admin2020";
SqlConnection connection = new SqlConnection(connString);
//打开数据库连接
connection.Open();
Console.WriteLine("打开数据库连接成功");
//关闭数据库连接
connection.Close();
Console.WriteLine("关闭数据库连接成功");
Console.ReadLine();
}
}
}
3 生成
4、调试
5、查看结果
异常处理:try-catch捕获和处理异常
//测试打开数据库的操作
string connString= "Data Source=.;Initial Catalog=MySchool_2;User ID=sa;Password=ACCPAdmin2020";
SqlConnection connection = new SqlConnection(connString);
try
{
//打开数据库连接
connection.Open();
Console.WriteLine("打开数据库连接成功");
}
catch(Exception ex)
{
Console.WriteLine("出现异常:"+ex.Message);
}
finally
{
//关闭数据库连接
connection.Close();
Console.WriteLine("关闭数据库连接成功");
}
测试异常
计算机右键-管理-服务,将SQL server服务停止,右键“停止”
VS中重新生成后,调试:
重新开启后,即可恢复连接成功。