查看: 6683|回复: 0
打印 上一主题 下一主题

使用C#和ADO.NET访问基于SQL的数据

[复制链接]
跳转到指定楼层
1#
发表于 2007-9-27 16:59:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
台州网址导航
ADO.NET是类框架,它允许访问数据,并且为.NET应用程序提供直接途径获取必要信息。本文中,我介绍了如何使用C#和ADO.NET访问基于SQL-Sever的数据。本文中用到一个用C#语言编写的简单示例。

连接

连接是数据访问的开始之处,并且决定如何连接到数据源。此时需要对属性进行设置,(例如ConnectionString),与数据源建立联系。下面列出了连接的关键属性和方法。

关键属性

ConnectionString: (读/写)用于打开SQL Sever数据库的字符串。
ConnectionTimeout:(读)尝试连接的最大时间限制。
Database: (读)当前已连接(或正在连接)的数据库名字。
DataSource:(读)需要连接的SQL Sever实例名字。
ServerVersion:(读)已连接的SQL Sever实例的验证版本字符串。
State:(读)当前的连接状态。
关键方法

BeginTransaction:(超载)开始一个数据库事务。
ChangeDatabase: 为SqlConnection 更改当前数据库。
Close: 关闭数据库连接。
CreateCommand: 创建并返回与SqlConnection 关联的SqlCommand 对象。
Open: 通过恰当设置ConnectionString 属性打开数据库连接。
命令

ADO.NET命令对于存储过程和SQL声明的运行是很重要的。下面给出了命令的关键属性和方法。

关键属性

CommandText:(读/写)T-SQL声明或存储的过程。
CommandTimeout:(读/写)命令执行所允许的最大时间限制。
CommandType:(读/写)解释CommandText属性的指示值。
Connection:(读/写)SqlCommand 实例所用到的SqlConnection。
Parameters:(读)SqlParameterCollection。
Transaction:(读/写)SqlCommand命令所执行的事务。
关键方法

Cancel:取消执行SqlCommand命令。
CreateParameter:创建SqlParameter对象的一个新实例。
ExecuteNonQuery:执行T-SQL 声明并且返回受影响的行数。
ExecuteReader:(超载)发送CommandText 给连接,并且建立SqlDataReader。
ExecuteScalar:执行查询,并且返回查询结果集的第一行第一列值。
ExecuteXmlReader:发送CommandText给连接,并且建立一个 XmlReader 对象。
Prepare:在SQL Sever实例上创建命令的准备版本。
数据适配器

DataAdapter是一个对象,用于沟通数据源和DataSet对象,所以它可以恢复和更新。

关键属性

AcceptChangesDuringFill:(读/写)值,此值指示在DataRow上是否调用AcceptChanges的情况,而此时的DataRow已经被添加到DataTable。
TableMappings:(读)在数据源表和DataTable之间提供主要映射集。
关键方法

Fill:添加并刷新DataSet中的行,与数据源中使用DataSet名字的行进行匹配;并且创建命名为“Table”的DataTable。
FillSchema:向指定的DataSet中添加命名为“Table”的DataTable,并且设置大纲与数据源中指定的SchemaType 大纲相匹配。
GetFillParameters:在执行SQL选择命令时,由用户恢复参数集。
Update:对于来自名为“Table”的DataTable中的DataSet,为其相应的动作调用相应的命令,如:插入、更新和删除等等。
数据访问基础

在.NET框架内采用ADO.NET进行工作时,需要用到两个System.Data命名空间中的一个:System.Data.SQLClient或者System.Data.OleDB。采用何种命名空间取决于需要访问的数据库。如果访问SQL Sever数据库,则应该使用System.Data.SQLClient命名空间;如果访问其他类型的数据库,则使用System.Data.OleDB命名空间。

代码定义了OleDbConnection、conn的一个实例。在ConnectionString属性中,指定了数据源提供者(Microsoft.JET.OLEDB版本4),以及数据源的位置和名称(Northwind.mdb S Access 数据库)。接下来,创建了Command对象的实例,并且设置其CommandText属性为实际的SQL字符串。然后打开连接,利用命令对象的ExecuteScalar方法返回记录集的第一个值,并且将其显示在消息框中。在try/catch块内部打开连接;如果出现错误,消息框中则出现出错信息。在finally块中,代码释放connection对象。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

网站推广
关于我们
  • 台州朗动科技(Tzweb.com)拥有多年开发网站平台系统门户手机客户端等业务的成功经验。主要从事:政企网站,系统平台,微信公众号,各类小程序,手机APP客户端,浙里办微应用,浙政钉微应用、主机域名、虚拟空间、后期维护等服务,满足不同企业公司的需求,是台州地区领先的网络技术服务商!

Hi,扫描关注我

Copyright © 2005-2026 站长论坛 All rights reserved

Powered by 站长论坛 with TZWEB Update Techonolgy Support

快速回复 返回顶部 返回列表