ado.net详细研究(一)

ado

最近阅读了wrox的高效掌握 ADO.NET,有所感触,希望与大家分享。第一次写文章,不好请谅解。

第一篇:ADO.NET的概念

ADO.NET中间包含以下常见类:

· Connection

· Command

· DataAdapter

· DataReader

· DataSet

1 Connection类
数据库Connection类提供与数据库的连接。.net里面有OleDbConnection类和SqlConnection类,分别针对不同的数据库。SqlConnection针对sql server 7.0或者以上版本。

2 Command类
数据库Command类是数据库命令的封装。这个命令可以是Sql语句或者存储过程。这个类也有一个与具体提供者相关的前缀,如OleDb或者Sql。所有Command类必须实现一些属性,用来更改Command的文本和类型,参数,超时以及事务等。另外Comand必须实现一些方法,以便执行Command和返回信息。

3 DataAdapter类
DataAdarpter一般是结合DataSet使用,那DataSet“连接”到数据源中。
本质上DataAdapter是容器,含有4个预先配置好的Command实例,即SelectCommand,InsertCommand,DeleteCommand,UpdateCommand。这4个command实例将提供DataSet与数据库之间的操作。

4 DataReader类
使用DataReader可以实现对数据源中的数据高速、只向前的访问。同时DataReader是一个依赖连接的对象,这意味着你使用它的时候必须保持数据库连接是打开的。

5 DataSet类
相对复杂但是功能强大的类。后面具体介绍。

下面使用实例演示基本操作(我们使用sql server数据库)。

using System;

using System.Data;

using System.Data.SqlClient;

namespace test101

{

/// <summary>

/// Class1 的摘要说明。

/// </summary>

class Class1

{

/// <summary>

/// 应用程序的主入口点。

/// </summary>

[STAThread]

static void Main(string[] args)

{

//

// TODO: 在此处添加代码以启动应用程序

//

SqlConnection conn = new SqlConnection("server = joycode;Initial Catalog = Northwind; User Id = sa;Password = 87345587;");
conn.Open();
//上面两行代码新建一个SqlConnection对象conn,并把数据库连接字符串赋给其构造函数并通过Open方法打开数据库连接。

SqlCommand cmd = conn.CreateCommand();//通过conn的CreateCommand方法建立一个SqlCommand
cmd.CommandText = "select top 5 * from Customers";//设置cmd对象的命令是读取数据库汇总前5条信息
cmd.CommandType = CommandType.Text;//设置cmd的类型是sql语句,也就是默认的类型
//当然我们可以使用cmd.CommandType = CommandType.StoredProcedure指定命令类型为存储过程。
//下面的代码使用cmd的ExecuteReader方法新建一个SqlDataReader对象。
//注意:DataReader没有自己的构着函数,只能通过cmd的ExecuteReader新建。
SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
string output;
while(reader.Read())
{
output = string.Format("Customer {0} : {1} works for {2}",
reader.GetString(0),reader.GetString(1),reader.GetString(2));//读取信息并显示。后面我们将专门介绍DataReader类
Console.WriteLine(output);
}
}
}
}

界面如下:

下一篇文章我们将详细研究DataReader类

时间: 2024-10-29 19:23:11

ado.net详细研究(一)的相关文章

ado.net详细研究(二) —— DataReader(一)

ado 这次我们详细研究DataReader.我个人最喜欢的就是DataReader,虽然它不如DataSet强大,但是在很多情况下我们须要的是灵活的读取数据而不是大量的在内存里面缓存数据.比如在网络上每个用户都缓存大量的dataset,这很可能导致服务器内存不足.另外dataReader尤其适合读取大量的数据,因为它不在内存中缓存数据. 由于下面的讨论都设计到数据库操作,我们虚拟一个小项目:个人通讯录(单用户),这意味着我们须要一个contract的数据库,包含admin和fridend: a

ADO.NET详细研究(五)--DataReader终结篇

ado 这一次我们将把DataReader了结,同时我们提到的有些技巧与DataReader无关但是是很基本的也很有用的技巧.一,参数化查询在上一篇文章发表以后不少网友提意见说代码不规范,没有对sql使用参数,这确实是很大一个漏洞,所以我在这里首先谈一下参数化查询问题.使用参数化查询的好处:可以防止sql注入式攻击,提高程序执行效率.针对sql server .net data Provider,我们可以使用@作为前缀标记的参数.比如:const string connStr = "Data s

ado.net详细研究(三) —— DataReader(二)

ado DataReader类 1. 创建DataReader对象 前面提到过没有构造函数创建DataReader对象.通常我们使用Command类的ExecuteRader方法来创建DataReader对象: SqlCommand cmd = new SqlCommand(commandText,ConnectionObject) SqlDataReader dr = cmd.ExecuteReader(); DataReader类最常见的用法就是检索Sql查询或者存储过程返回的记录.它是连接

ADO.NET详细研究(四)--实例演示DataReader基本操作

ado 前面的文章地址: http://dev.csdn.net/develop/article/26/26246.shtm http://dev.csdn.net/develop/article/26/26480.shtm http://dev.csdn.net/develop/article/26/26481.shtm 这次我们用实例演示DataReader的基本应用,当然同时包含Command以及Connection的基本操作.通过这个实例的学习我们能处理一般的数据库系统了. WinFor

Alexa 世界网站排名详细研究

中介交易 SEO诊断 淘宝客 云主机 技术大厅 网站排名是最容易引起关注和议论的,况且为世界上350多亿的网站定坐次,不仅如此,最重要的是排名的结果通过Internet发布到全世界.仅此足以引起哗然,对于不明真相的人,某天突然有人告诉你,"你们的网站排在我们之后",此时你一定有些蒙.到底是谁在操这份心,评点虚拟世界的英雄? Alexa 是什么 Alexa 是以发布世界网站排名而引人注目的一个网站,URL地址为 http://www.alexa.com/ .其实,此网站的搜索引擎也很好用

FLASH弹出窗口的详细研究

弹出窗口 在HTML页面里写上JS代码 然后在FLASH里调用 下面是一个详细的步骤 1. 将"Get URL"指令指派至某个按钮或关键帧  2. 在"URL"空白栏中填入打开新窗口的URL链接,将下列信息正确地填入空白栏内 javascript:openNewWindow('abc.html','thewin','height=400,width=400,toolbar=no,scrollbars=yes')  3. 选择"File"(文件)&

ADO.NET深入研究(1)[特别推荐]

ado 导 读:.NET 在数据存取方面做了很大的调整.在.NET 框架下,数据存取是由ADO.NET来完成的,这是一个ADO的改进和完善版本.它最显著的变化是其完全基于XML.而对于从事ADO开发的人员来说,Recordset对象的消失也令他们感到惊奇. -------------------------------------------------------------------------------- 翻译整理:.net技术网(www.51dotnet.com)slash原文出处:

ADO.NET深入研究(2)[特别推荐]

ado 导 读:.NET 在数据存取方面做了很大的调整.在.NET 框架下,数据存取是由ADO.NET来完成的,这是一个ADO的改进和完善版本.它最显著的变化是其完全基于XML.而对于从事ADO开发的人员来说,Recordset对象的消失也令他们感到惊奇. -------------------------------------------------------------------------------- 翻译整理:.net技术网(www.51dotnet.com)slash 原文出处

针对iOS10新增Api的详细研究_IOS

本文主要是一些对iOS新功能的探索,之前发现博客里关于iOS新功能的分析大多是过于概括,每个功能几句话,无法了解到具体的功能.所以本次的探索是基于Api层面,着重看一些具体用法所做的笔记,本来想分别画个类图来着,后来还是觉得太耗时而放弃.如果不想把苹果iOSSDK里的.h文件都摆出来详细读,那看这篇笔记应该是个不错的选择.  本文以文档的目录为基础,提到的功能模块有:  Proactive Suggestions  Integrating with the Messages App  User