最近闲暇时间写的一些小程序中,访问数据库比较多;下面主要介绍下ADO.NET方面知识,有不足之处,希望大神们不吝赐教:
提到ADO.NET,经常会和ASP.NET进行混淆,两者的区别很大,没有可比性,下面讲下两者之前的区别:
ASP.NET是微软在。net
Framework提供的,用于开发web应用程序的类库,封装在System.Web.dll中,对应程序中是System.Web这个命名空间。
ADO.NET
对 Microsoft SQL Server 和 XML 等数据源以及通过 OLE DB 和 XML 公开的数据源提供一致的访问。ADO.NET
类在 System.Data.dll 中,并且与 System.Xml.dll 中的 XML
类集成。
简单的来讲ADO.NET是用来处理数据库的一种访问方式。
下面介绍下ADO.NET的五个常用对象
Connection
类
和数据库交互,必须连接它。连接帮助指明数据库服务器、数据库名字、用户名、密码,和连接数据库所需要的其它参数。Connection对象会被Command对象使用,这样就能够知道是在哪个数据源上面执行命令。
与数据库交互的过程意味着必须指明想要执行的操作。这是依靠Command对象执行的。开发人员使用Command对象来发送SQL语句给数据库。Command对象使用Connection对象来指出与哪个数据源进行连接。开发人员能够单独使用Command对象来直接执行命令,或者将一个Command对象的引用传递给DataAdapter,它保存了一组能够操作下面描述的一组数据的命令。
代码如下:
using
(SqlConnection cnn = new SqlConnection("data
source=10.10.198.111;Database=systemconfig;uid=sa;password=sa"))
{
cnn.Open();
}
SqlConnection参数中字符串是连接数据库地址、库名、用户名、密码等信息;通常是放web.config配置文件中,当需要调用时,直接引用配置信息,代码如下:
<!--数据库连接地址-->
<connectionStrings>
<add
name="connstr" connectionString="data
source=10.10.198.111;Database=systemconfig;uid=sa;password=sa"/>
</connectionStrings>
private
static string connstr =
ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
Connection
访问数据库字符串,格式如下:
--access连接格式
Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=" + Directory.GetCurrentDirectory() +
(@"\Areafull.accdb
Command对象 www.yztrans.com
成功与数据建立连接后,就可以用Command对象来执行查询、修改、插入、删除等命令;Command对象常用的方法有ExecuteReader()方法、ExecuteScalar()方法和ExecuteNonQuery()方法;插入数据可用ExecuteNonQuery()方法来执行插入命令;
代码如下:
复制代码
using
(SqlConnection cnn = new
SqlConnection(connstr))
{
cnn.Open();
using (SqlCommand cmd
= cnn.CreateCommand())
{
cmd.CommandText =
sql;//执行sql语句
cmd.Parameters.AddRange(parameters);//sql参数
}
}
DataAdapter类
某些时候开发人员使用的数据主要是只读的,并且开发人员很少需要将其改变至底层的数据源。同样一些情况要求在内存中缓存数据,以此来减少并不改变的数据被数据库调用的次数。DataAdapter通过断开模型来帮助开发人员方便的完成对以上情况的处理。当在一单批次的对数据库的读写操作的持续的改变返回至数据库的时候,DataAdapter
填充(fill)DataSet对象。DataAadapter包含对连接对象以及当对数据库进行读取或者写入的时候自动的打开或者关闭连接的引用。另外,DataAdapter包含对数据的SELECT、INSERT、UPDATE和DELETE操作的Command对象引用。开发人员将为DataSet中的每一个Table都定义DataAadapter,它将为开发人员照顾所有与数据库的连接。所以开发人员将做的工作是告诉DataAdapter什么时候装载或者写入到数据库。
代码如下:
复制代码
using
(SqlConnection cnn = new
SqlConnection(connstr))
{
cnn.Open();
using (SqlCommand cmd
= cnn.CreateCommand())
{
cmd.CommandText =
sql;
cmd.Parameters.AddRange(parameters);
SqlDataAdapter apter =
new SqlDataAdapter(cmd);
DataSet ds = new
DataSet();
apter.Fill(ds);
return
ds.Tables[0];
}
}
复制代码
DataSet对象
DataSet对象是数据在内存中的表示形式。它包括多个DataTable对象,而DataTable包含列和行,就象一个普通的数据库中的表。开发人员甚至能够定义表之间的关系来创建主从关系(parent-child
relationships)。DataSet是在特定的场景下使用――帮助管理内存中的数据并支持对数据的断开操作的。DataSet是被所有Data
Providers使用的对象,因此它并不像Data Provider一样需要特别的前缀 www.tygj123.com
DataTable类
DataTable
是一个临时保存数据的网格虚拟表(表示内存中数据的一个表。)。DataTable是ADO dot net 库中的核心对象。
相关文章
- 03-09[PWN][进阶篇]Rop-Ret2Text介绍及实例教学
- 03-09【机器学习基础】正则化及多分类问题总结
- 03-09定位实例及网页布局思路总结
- 03-09MSK调制解调(matlab,有详细介绍仿真方案的设计、结果及结论、个人的总结体会、完整代码及注释)
- 03-09GD32系列总结 - systick介绍及使用
- 03-09protobuf基础知识及跨文件夹import实例
- 03-09华为网络设备介绍及基础配置命令
- 03-09Elasticsearch:Elasticsearch SQL介绍及实例 (一)
- 03-09Elasticsearch:Elasticsearch SQL介绍及实例(二)
- 03-09设计模式-23种设计模式整体介绍及应用场景、七大设计原则总结