ADO.NET(一)
最近在公司有用到了ADO.NET技术,由浅入深的复习一下。

如图所示,水源就像一个水库,进水龙头就像Connection,同理,抽水机:Command,输水管:DataAdapter 或 DataReader 。DataAdapter 理解为水直接由输水管到水库的管子,而 DataReader 理解为水直接到用户使用的管子。相比直接,DataReader 速度更快些,因为用户可以直接使用。 DataSet:大水库, DataTable:大水库的池子。
练一练 Connection
using System.Data.SqlClient;//引用命名空间
注意: ConnectionState 枚举的值
| 枚举值 | 说明 |
| Broken | 与数据源的连接中断。只有在连接后才能发生。 |
| Closed | 连接处于关闭状态 |
| Connecting | 连接对象正在与数据源连接 |
| Executing | 连接对象正在执行命令 |
| Fetching | 连接对象正在检索数据 |
| Open | 连接状态处于打开 |
例1,

图 1-1
try
{
string Con = "server=.;database=" + textBox1.Text.Trim() + ";uid=sa;pwd=";//如图1-1所示,对应
SqlConnection coon = new SqlConnection(Con);
coon.Open();
if (coon.State == ConnectionState.Open)//判断连接状态
label2.Text = "连接成功";
}
catch
{
label2.Text = "连接失败";
}
运行效果图;

例2,
Closed()方法, Dispose()方法。
//coon.Close();使用coon.Open();可以重新连接数据库
//coon.Dispose();使用coon.Open();不可以重新连接数据库。 会出现ConnectionString 属性尚未初始化异常。
详细讲解 Command 因为抽水机,最为主要机器动力
Command 对象有3个重要属性。分别为 Connection,CommandText,CommandType。
Connection 用于设置SqlCommand使用的 SQLConnection。
CommandText 用于设置要对数据源执行的SQL语句或存储过程。
CommandType 用于设定CommandText类型,一般为 Text :SQL文本命令。
例 , 讲解三者属性的运用。
string Con = "server=.;database=Movies;uid=sa;pwd=";
SqlConnection coon = new SqlConnection(Con);
coon.Open();
SqlCommand cmd = new SqlCommand();//创建一个SqlCommand对象
cmd.Connection = coon;//设置Connection属性
cmd.CommandText = "select * from Movies";//设置CommandText 的SQL语句
cmd.CommandType = CommandType.Text; //设置 CommandType 属性为Text,使其只执行SQL语句文本形式。
label2.Text = (cmd.ExecuteScalar()).ToString();//ExecuteScalar() 方法获取数据表第一行第一列数据。
运行结果:指定数据,指定数据表的第一行第一列数据。
以上大略讲解一下基础,在ADO.NET(二)中,具体讲解 Command的一些拓展及延伸。
ADO.NET(一)的更多相关文章
- ADO.NET对象的详解
1. Connection 类 和数据库交互,必须连接它.连接帮助指明数据库服务器.数据库名字.用户名.密码,和连接数据库所需要的其它参数.Connection对象会被Command对象使用,这样就能 ...
- WebForm获取GET或者POST参数到实体的转换,ADO.NET数据集自动转换实体
最近在修改维护以前的webform项目(维护别人开发的.....)整个aspx没有用到任何的控件,这个我也比较喜欢不用控件所以在提交信息的时候需要自己手动的去Request.QueryString[] ...
- ADO.NET编程之美----数据访问方式(面向连接与面向无连接)
最近,在学习ADO.NET时,其中提到了数据访问方式:面向连接与面向无连接.于是,百度了一下,发现并没有很好的资料,然而,在学校图书馆中发现一本好书(<ASP.NET MVC5 网站开发之美&g ...
- ADO.NET一小记-select top 参数问题
异常处理汇总-后端系列 http://www.cnblogs.com/dunitian/p/4523006.html 最近使用ADO.NET的时候,发现select top @count xxxx 不 ...
- .NET基础拾遗(6)ADO.NET与数据库开发基础
Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开发基 ...
- 升讯威ADO.NET增强组件(源码):送给喜欢原生ADO.NET的你
目前我们所接触到的许多项目开发,大多数都应用了 ORM 技术来实现与数据库的交互,ORM 虽然有诸多好处,但是在实际工作中,特别是在大型项目开发中,容易发现 ORM 存在一些缺点,在复杂场景下,反而容 ...
- ADO.NET Entity Framework 在哪些场景下使用?
在知乎回答了下,顺手转回来. Enity Framework已经是.NET下最主要的ORM了.而ORM从一个Mapping的概念开始,到现在已经得到了一定的升华,特别是EF等对ORM框架面向对象能力的 ...
- ADO.NET 核心对象简介
ADO.NET是.NET中一组用于和数据源进行交互的面向对象类库,提供了数据访问的高层接口. ADO.NOT类库在System.Data命名空间内,根据我们访问的不同数据库选择命名空间,System. ...
- ODBC、OLE DB、 ADO的区别
转自:http://blog.csdn.net/yinjingjing198808/article/details/7665577 一.ODBC ODBC的由来 1992年Microsoft和Syba ...
- LINQ to SQL语句(19)之ADO.NET与LINQ to SQL
它基于由 ADO.NET 提供程序模型提供的服务.因此,我们可以将 LINQ to SQL 代码与现有的 ADO.Net 应用程序混合在一起,将当前 ADO.NET 解决方案迁移到 LINQ to S ...
随机推荐
- 深度强化学习(DRL)专栏开篇
2015年,DeepMind团队在Nature杂志上发表了一篇文章名为"Human-level control through deep reinforcement learning&quo ...
- adb的连接设备故障分析(三)
一,如果使用adb devices进行检测,发现没有任何设备信息,我们就需要检查是否有手机/模拟器连接上 二,如果是手机进行连接,windows右下角有出来如下提示的话,需要检查你的手机驱动是否有安装 ...
- python入门灵魂5问--python学习路线,python教程,python学哪些,python怎么学,python学到什么程度
一.python入门简介 对于刚接触python编程或者想学习python自动化的人来说,基本都会有以下python入门灵魂5问--python学习路线,python教程,python学哪些,pyth ...
- 使用datasest属性改变样式
使用datasest属性改变样式 传统做法 对于html中的标签我们可以自定义标签中的属性,例如给input加一个aaa属性 <input type="text" aaa=& ...
- iOS、Android 开发的前景真的那么差吗?
程序员问问周刊:别蕉绿了,问问「IT老兵哥」吧! Q:本科 985 在上海二线互联网企业工作,公司有人才落户指标,但要排队等五年左右.除此外只能等居住满七年落户,现在想换工作追求更好的发展,纠结是继续 ...
- 《Three.js 入门指南》3.1.1 - 基本几何形状 - 球体(SphereGeometry)
3.1 基本几何形状 球体(SphereGeometry) 构造函数: THREE.SphereGeometry(radius, segmentsWidth, segmentsHeight, phiS ...
- wsl中配置SML环境
配置SML/NJ #安装 sudo apt install smlnj #但是wsl不支持32位程序,所以需要下面配置 sudo dpkg --add-architecture i386 sudo a ...
- radio 单选按钮 选中多个
<input type="radio" name="a"/> <input type="radio" name=" ...
- Vue学习(1)---Vue介绍
Vue是什么 官方定义:Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视图层 ...
- 今天无意中看到了str_split这个函数
前2天做广点通统计接口进行回调时需要加密,其中Python对字符串遍历很方便. s = 'abcd' for ch in s: print ch 但是PHP我想了半天还是老样子for循环之类的: &l ...