ADO.NET——Connection、Command。

.NET Framework 数据提供程序包括四个核心对象Connection,Command,DataReader,DataAdapter、在这,我只简单谈一下与SQL Server中经常使用的对象。连接对象SqlConnection,它是在System.Data.SqlClient的命名空间下使用的。

一、Connection对象

描述:作为Data Provider的第一核心对象,Connection对象肩负起连接数据源的重任。

属性:

1、DataBase:打开连接后可以获得当前数据库的名称,或者打开连接之前获得连接字符串指定的数据库名。

2、DataSource:获取要连接的数据库服务器的名称。

3、ConnectionString:获取或者设置用于打开连接的字符串。

4、ConnectionTimeOut:获取在建立链接时终止尝试并生成错误之前等待的时间。

5、State:获取描述状态的字符串。

方法:

1、open:使用ConnectionString所指定的设置打开数据库连接。

2、Dispose:释放Component所指定的所有资源。

3、Close:关闭与数据库的连接。


如果把数据源比作大门,那么连接字符串则是钥匙,而连接对象则是拿着钥匙开门的人。

二、Command对象

描述:尽管Connection对象已经我们连接好了外部数据源,但它却忠于职守,并不提供对外部数据源的任何操作。就在纠结万分的时刻,Command对象诞生了。它封装了所有对外部数据源的操作(包括增、删、查、改等SQL语句与存储过程),并在执行完成后返回合适的结果。

属性

1、CommandText:获取或设置对数据源执行的文本命令。默认值为空字符串。

2、CommandType:命令类型,指示或者指定如何解释CommandText属性。CommandType属性的值是枚举类型,定义过程如下

<span style="font-size:18px;">Public enum CommandType

{

           Text=1;           //SQL文本命令

           StoreDProcedure=4;//存储过程名称

           TableDirect;      //表名称

}</span>

需要特别注意的是,将CommandType
设置为 StoredProcedure
时,应将 CommandText
属性设置为存储过程的名称。

3、Paramenters:绑定SQL语句或者存储过程的参数。参数化查询中不可以或缺的对象。

4、Tranction:获取或者设置在其中执行.NET Framework 数据提供程序的Command对象的事物。

5、Connection:设置或者获取与数据源的连接。

方法:

1、ExecuteNonQuery:执行不返回数据行的操作,并返回一个int类型的数据。(对于Update、Insert、Delete语句,返回值为该命令所影响的行数。对于其他所有类型的语句,返回值为-1)

2、ExecuteReader:执行查询,并返回一个DataReader对象

3、ExecuteScalar:执行查询,并返回查询结果集中第一行第一列(object类型)。如果找不到结果集,则返回null引用。

这两个对象都是基于连接时使用的,Connection对象时起到连接数据源的作用,连接成功后,就教给Command对象对数据进行操作。下一篇博客主要讲DataAdapter对象。

时间: 2024-10-05 05:50:02

ADO.NET——Connection、Command。的相关文章

浅谈ADO.NET中的对象——Connection、Command、DataReader、DataAdapter、DataSet、DataTable

可能是当初没有好好总结的缘故,学习.NET以来,对ADO.NET中的对象一直有些模糊,今天重新回顾了一下,通过查资料,总结,结合自己的观点整理一下ADO.NET中Connection.Command.DataReader.DataAdapter. DataSet.DataTable这几个对象的相关知识,希望对初学者能起到一个全局把控的作用,希望大牛能留下宝贵的指导意见. 以下的例子仅以连接 SQL Server数据库为例,所以分别以SqlConnection.SqlCommand.SqlData

ADO.NET——Connection(连接数据库)

在ADO.NET对象模型中,Connection对象代表了与数据源之间的连接. .NET框架中有两个Connection对象:一个是OleDbConnection,用于大多数的数据库连接,一个是SqlConnection,是MS开发的专门用于针对SQLServer的连接.在创建Connection对象之前,你必须先引用System.Data.OleDb或者System.Data.SqlClient和System.Data三个名空间. 一,基本连接示例 对于连接对象的使用,可以类比VB中ADO的使

汤姆猫的安装、使用。

先要提供jdk-7u9-linux-x64.rpm(如以上版本) 安装jdk(java需要用到的编译开发工具) [[email protected] ~]# rpm -vih jdk-7u9-linux-x64.rpm Preparing...                ########################################### [100%]    1:jdk                    #################################

ADO.NET Connection Pooling at a Glance

ADO.NET Connection Pooling at a Glance Establishing a connection with a database server is a hefty and high resource consuming process. If any application needs to fire any query against any database server, we need to first establish a connection wi

数据库的Connection、Cursor两大对象

Python 数据库图解流程 Connection.Cursor比喻 Connection()的参数列表 host,连接的数据库服务器主机名,默认为本地主机(localhost). user,连接数据库的用户名,默认为当前用户. passwd,连接密码,没有默认值. db,连接的数据库名,没有默认值. conv,将文字映射到Python类型的字典. MySQLdb.converters.conversions cursorclass,cursor()使用的种类,默认值为MySQLdb.curso

《互联网医疗大棋局》中美移动医疗领域的现状、机会、限制。五星推荐

全书分析中美移动医疗领域的现状.机会.限制.个人感觉水平比较高. 书中几个重要的观点: 1:流量换收入的互联网思维在医疗领域没用. 2:美国与中国在医疗行业有诸多不同:最重要的是奥巴马的医改法案,让医疗界更关注医疗质量而不是门诊手术数量,因而让医疗界有动力去通过技术手段与病人在诊前诊后互动,提高病人的健康水平,也让移动医疗有更多的机会:中国则好医院忙于应付现有病人,没有动力去做移动医疗: 3:美国的许多移动医疗产品,都成功地找到了支付方,有许多是保险公司付费的(依旧归功于奥巴马医改),还有雇主和

Google面试题—有四个线程1、2、3、4。线程1的功能就是输出1,线程2的功能就是输出2,以此类推.........现在有四个文件ABCD

分类: windows编程 C++ 2012-10-27 19:56 3410人阅读 评论(1) 收藏 举报 有四个线程1.2.3.4.线程1的功能就是输出1,线程2的功能就是输出2,以此类推.........现在有四个文件ABCD.初始都为空.现要让四 个文件呈如下格式:A:1 2 3 4 1 2....B:2 3 4 1 2 3....C:3 4 1 2 3 4....D:4 1 2 3 4 1....请设计程序. [cpp] view plaincopy #include <stdio.h

java基础—继承题目:编写一个Animal类,具有属性:种类;具有功能:吃、睡。定义其子类Fish

编写一个Animal类,具有属性:种类:具有功能:吃.睡.定义其子类Fish package zhongqiuzuoye; public class Animal { //属性 private String type; public String getType() { return type; } public void setType(String type) { this.type = type; } //功能 public void eat() { } public void sleep

iOS Xcode, 解决“Could not insert new outlet connection”的问题。

在Xcode中,我们可以在StoryBoard编辑界面或者是xib编辑界面中通过“Control键+拖拽“的方式将某个界面元素和对应的代码文件连接起来,在代码文件中创建outlet. 不过,如果你的运气不太好,执行以上操作的过程中你可能会遇到下面这样的错误: 如图: Could not insert new outlet connection: Could not find any information for the class named "xxx". 其中的“xxx”就是你的目