- 浏览: 261175 次
- 性别:
- 来自: 福州
文章分类
最新评论
-
nanfei:
运行没看到反应~
Android利用Http下载文件 -
jebai0521:
学习了,有点错误!
Android利用Http下载文件 -
avalonzst:
mark一下.写的真不错.
Oracle中的DDL语句 -
284772894:
Good,不错,新手学习中
android中的布局 -
zhiwen2050:
<script>alert("张三&qu ...
grid++ report在线报表的使用笔记
ado.net 知识点
一.ado.net
ADO.NET的名称起源于ADO(ActiveX Data Objects),这是一个广泛的类组,用于在以往的Microsoft技术中访问数据.之所以使用ADO.NET名称,是因为Microsoft希望表明,这是在.NET编程环境中优先使用的数据访问接口
二.ado.net中的几个对象
SqlConnection :构造数据库连接对象
SqlCommand :构造执行数据库命令的对象,需要制定数据库的连接对象SqlConnection ,CommandText 执行语句
SqlDataAdapter: 用来封装SqlCommand并取得DataSet
DataSet : 数据库返回的对象,已经存在内存中
SqlTransaction:事务
SqlParameter: SqlCommand的参数
SqlDataReader:提供一种从 SQL Server 数据库读取行的只进流的方式。无法继承此类。
三、SqlCommand下的几个方法
1.ExecuteScalar
执行查询,并返回查询所返回的结果集中第一行的第一列。 忽略其他列或行
2.ExecuteNonQuery
对连接执行 Transact-SQL 语句并返回受影响的行数
3.ExecuteReader
SqlCommand.ExecuteReader (): 将 CommandText 发送到 Connection 并生成一个 SqlDataReader
SqlCommand.ExecuteReader (CommandBehavior) :将 CommandText 发送到 Connection,并使用 CommandBehavior 值之一生成一个 SqlDataReader
1)CommandBehavior 枚举
http://msdn.microsoft.com/zh-cn/library/system.data.commandbehavior(v=vs.80)
提供对查询结果和查询对数据库的影响的说明
CommandBehavior.CloseConnection 在执行该命令时,如果关闭关联的 DataReader 对象,则关联的 Connection 对象也将关闭。
四、SqlCommand下的几种属性
http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlcommand_properties(v=vs.80)
1.CommandTimeout 获取或设置在终止执行命令的尝试并生成错误之前的等待时间
五、SqlTransaction
/// <summary> /// 执行多条SQL语句,实现数据库事务。 /// </summary> /// <param name="SQLStringList">多条SQL语句</param> public int ExecuteSqlTran(List<String> SQLStringList) { using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; SqlTransaction tx = conn.BeginTransaction(); cmd.Transaction = tx; try { int count = 0; for (int n = 0; n < SQLStringList.Count; n++) { string strsql = SQLStringList[n]; if (strsql.Trim().Length > 1) { cmd.CommandText = strsql; count += cmd.ExecuteNonQuery(); } } tx.Commit(); return count; } catch { tx.Rollback(); return 0; } } }
六、SqlParam
/// <summary> /// 执行带一个存储过程参数的的SQL语句。 /// </summary> /// <param name="SQLString">SQL语句</param> /// <param name="content">参数内容,比如一个字段是格式复杂的文章,有特殊符号,可以通过这个方式添加</param> /// <returns>影响的记录数</returns> public int ExecuteSql(string SQLString, string content) { using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand cmd = new SqlCommand(SQLString, connection); System.Data.SqlClient.SqlParameter myParameter = new System.Data.SqlClient.SqlParameter("@content", SqlDbType.NText); myParameter.Value = content; cmd.Parameters.Add(myParameter); try { connection.Open(); int rows = cmd.ExecuteNonQuery(); return rows; } catch (System.Data.SqlClient.SqlException e) { throw e; } finally { cmd.Dispose(); connection.Close(); } } }
七、SqlDataReader
http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqldatareader(v=vs.80).aspx
若要创建 SqlDataReader,必须调用 SqlCommand 对象的 ExecuteReader 方法,而不要直接使用构造函数。
在使用 SqlDataReader 时,关联的 SqlConnection 正忙于为 SqlDataReader 服务,对 SqlConnection 无法执行任何其他操作。除非调用 SqlDataReader 的 Close 方法,否则会一直处于此状态。
当 SqlDataReader 关闭后,只能调用 IsClosed 和 RecordsAffected 属性。尽管当 SqlDataReader 存在时可以访问 RecordsAffected 属性,但是请始终在返回 RecordsAffected 的值之前调用 Close,以保证返回精确的值。
/// <summary> /// 执行查询语句,返回SqlDataReader ( 注意:调用该方法后,一定要对SqlDataReader进行Close ) /// </summary> /// <param name="strSQL">查询语句</param> /// <returns>SqlDataReader</returns> public SqlDataReader ExecuteReader(string strSQL) { SqlConnection connection = new SqlConnection(connectionString); SqlCommand cmd = new SqlCommand(strSQL, connection); try { connection.Open(); SqlDataReader myReader = cmd.ExecuteReader(CommandBehavior.CloseConnection); return myReader; } catch (System.Data.SqlClient.SqlException e) { throw e; } }
八、IDataParameter[]
IDataParameter[]简单的说来,就是可以包含任何数据库参数的数组,这些参数可以是SqlParameter或者OleDbParameter
九、存储过程
public SqlDataReader RunProcedure(string storedProcName, IDataParameter[] parameters) { using (SqlConnection connection = new SqlConnection(connectionString)) { SqlDataReader returnReader; connection.Open(); SqlCommand command = BuildQueryCommand(connection, storedProcName, parameters); command.CommandType = CommandType.StoredProcedure; returnReader = command.ExecuteReader(CommandBehavior.CloseConnection); return returnReader; } }
/// <summary> /// 构建 SqlCommand 对象(用来返回一个结果集,而不是一个整数值) /// </summary> /// <param name="connection">数据库连接</param> /// <param name="storedProcName">存储过程名</param> /// <param name="parameters">存储过程参数</param> /// <returns>SqlCommand</returns> private static SqlCommand BuildQueryCommand(SqlConnection connection, string storedProcName, IDataParameter[] parameters) { SqlCommand command = new SqlCommand(storedProcName, connection); command.CommandType = CommandType.StoredProcedure; foreach (SqlParameter parameter in parameters) { if (parameter != null) { // 检查未分配值的输出参数,将其分配以DBNull.Value. if ((parameter.Direction == ParameterDirection.InputOutput || parameter.Direction == ParameterDirection.Input) && (parameter.Value == null)) { parameter.Value = DBNull.Value; } command.Parameters.Add(parameter); } } return command; }
/// <summary> /// 执行存储过程 /// </summary> /// <param name="storedProcName">存储过程名</param> /// <param name="parameters">存储过程参数</param> /// <param name="tableName">DataSet结果中的表名</param> /// <returns>DataSet</returns> public DataSet RunProcedure(string storedProcName, IDataParameter[] parameters, string tableName) { using (SqlConnection connection = new SqlConnection(connectionString)) { DataSet dataSet = new DataSet(); connection.Open(); SqlDataAdapter sqlDA = new SqlDataAdapter(); sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters); sqlDA.Fill(dataSet, tableName); connection.Close(); return dataSet; } }
发表评论
-
.net的一些零散知识点
2012-08-01 09:09 748.net的一些零散知识点 一、using 关键字 参考: ... -
.net Web.Config配置文件
2012-07-26 09:23 3057.net Web.Config配置文件 一、配置信息 ... -
.net Application.DoEvents()
2012-06-15 23:06 1795.net Application.DoEvents() 如 ... -
.net ComboBox与DX中的ComboBoxEdit绑定数据
2012-06-15 22:48 3403.net ComboBox与DX中的ComboBoxEdit绑 ... -
.net中的一些IO操作
2012-06-07 16:08 673.net中的一些IO操作 1.检查目录的存在和创建目录 ... -
.net中的异常
2012-06-07 16:03 656.net中的异常 原文:http://topic.csdn. ... -
.net中的一些概念
2012-06-07 15:47 627.net中的一些概念 一.AppDomain Repres ... -
.net 中的退出
2012-06-07 15:35 915.net 中的退出 1.Application.Exit() ... -
.net WebService 大数据量时性能的提高
2012-06-07 00:47 4879.net WebService 大数据量时性能的提高 1.直 ... -
.net 利用 GZipStream 压缩和解压缩
2012-06-06 23:27 7451.net 利用 GZipStream 压缩和解压缩 1 ... -
用DataSetSurrogate加速WebService
2012-06-06 20:52 1421用DataSetSurrogate加速WebService ... -
.net 序列化 反序列化
2012-06-06 17:41 1239.net 序列化 反序列化 ... -
.net WebService HelloWorld
2012-06-06 16:01 1480.net WebService HelloWorld 1.W ... -
C#中的保留小数点
2012-04-09 22:15 1015C#中的保留小数点 1、Math.Round(0.33333 ... -
C#语言入门学习笔记
2012-02-14 14:10 940C#语言入门学习笔记 一、C#是什么 C#(读作“C ...
相关推荐
ADO.NET是微软.NET框架下用于访问数据库的核心组件,它提供...以上就是ADO.NET的主要知识点和用法,掌握这些将有助于理解如何高效地访问和操作数据库。在实际开发中,还需要根据具体需求和场景灵活应用这些概念和技巧。
以下是一些关键的ADO.NET知识点: 1. **Connection对象**:建立与数据库的连接,是所有数据库操作的基础。 2. **Command对象**:执行SQL命令,如查询、插入、更新和删除记录。 3. **DataReader对象**:用于从数据库...
掌握这些知识点,对于理解和编写高效的ADO.NET 数据库应用程序至关重要。同时,了解从ADO 到ADO.NET 的演进,能够帮助开发者更好地理解新模型的设计理念,以及为什么在.NET 环境下,ADO.NET 是更优的选择。
在这些源代码中,你可以找到以下关键知识点: 1. **连接数据库**:ADO.NET通过`SqlConnection`类与SQL Server数据库建立连接。连接字符串是连接数据库的关键,包含服务器名、数据库名、用户名和密码等信息。 2. **...
**ADO.NET知识点详解** 1. **ADO.NET概述**:ADO.NET是Microsoft开发的一种数据访问技术,它是.NET Framework的一部分,提供了一组类库,使得开发者可以高效、安全地访问和操作数据库。它支持多种数据库系统,如SQL...
ADO.NET考核知识点涵盖了数据库设计的基本原则、数据库操作、配置文件管理、异常处理、数据库访问以及数据处理等多个方面。以下是对这些知识点的详细说明: 1. **第一范式(1NF)**:数据库设计中的第一范式是关系...
ADO.NET 认证题库知识点解读 ADO.NET 是微软推出的数据访问技术,广泛应用于数据库开发中。下面是根据提供的题库,总结出的 ADO.NET 相关知识点: 1. ADO.NET 模型中的 Connected 对象包括 Connection、...
本课件将深入探讨ADO.NET的相关知识点,包括但不限于以下内容: 1. 数据访问架构:ADO.NET采用面向对象的方式,通过Data Provider Model(数据提供程序模型)连接到各种数据库。它包括SQL Server、Oracle、ODBC和...
ADO.NET 认证试题知识点总结 ADO.NET 认证试题涵盖了 ADO.NET 模型中的 Connected 对象、DataTable 对象的使用、XML 支持、.NET 数据提供程序、身份验证机制等多方面的知识点。 1. ADO.NET 模型中的 Connected ...
以下是一些ADO.NET 2.0的核心知识点: 1. **Connection对象**:它是与数据库建立连接的关键组件。在ADO.NET 2.0中,开发人员可以使用特定于数据库的数据提供程序(如SqlClient for SQL Server)来创建Connection...
在“ADO.NET简介.ppt”中,你可能会学到以下关键知识点: 1. ADO.NET架构:ADO.NET由几个主要组件组成,包括DataSet、DataTable、DataRow、DataAdapter、Connection、Command、DataReader等。DataSet是内存中的数据...
ADO.NET是微软.NET框架的一部分,主要用于数据库访问和数据处理。它是连接应用程序与各种数据库系统的一种高效、灵活的技术。在面试中,对ADO.NET的理解和掌握是...熟练掌握这些知识点,将有助于你在面试中脱颖而出。
以上就是ADO.NET高级编程的一些关键知识点,涵盖了数据访问、操作和管理的核心概念。通过深入理解和实践,开发者可以更好地控制数据流程,创建高性能、安全的应用程序。在实际项目中,根据具体的业务需求和场景,...
最后,我们将回顾ADO.NET的关键知识点,提出一些最佳实践,以及在实际项目中如何选择合适的数据库访问策略。 通过这十二讲的学习,你将对ADO.NET有全面而深入的理解,能够自信地在.NET项目中运用这一强大的数据访问...
以下将详细解析ADO.NET的核心知识点,结合课程中可能涵盖的章节内容进行深入探讨。 1. **数据访问基础**:课程可能首先介绍数据访问的基础概念,包括数据库连接、命令执行和结果集处理。ADO.NET通过Connection对象...
总的来说,"ADO.NET教学PPT"会系统地涵盖这些知识点,并可能通过实例演示如何使用ADO.NET进行数据库操作,帮助开发者提升在.NET环境中处理数据库的能力。通过学习这份资料,开发者可以更好地理解和运用ADO.NET,从而...
在ASP.NET ADO.NET5这个主题中,我们可以深入探讨以下几个关键知识点: 1. **ASP.NET MVC框架**:ASP.NET提供了多种模式,如Web Forms、MVC和Web API。MVC(Model-View-Controller)是一种设计模式,它将业务逻辑、...
下面我们将详细讨论如何使用C#语言封装一个SqlHelper类,以及其核心知识点。 首先,我们要理解ADO.NET的基础组件:Connection(连接)、Command(命令)、DataAdapter(数据适配器)和DataSet(数据集)。SqlHelper...
项目中可能涉及到的其他ADO.NET知识点: 1. 数据连接:ADO.NET通过`SqlConnection`(对于SQL Server)或其他数据库提供商类建立与数据库的连接,进行数据操作。 2. 命令对象:使用`SqlCommand`执行SQL语句,如查询...