ADO.NET编程之基础知识
一.ADO.NET基础
程序和数据库交互,要通过ADO.NET进行;通过ADO.NET就能在数据库中执行SQL了。ADO.NET中提供了对不同数据库的统一操作接口(ODBC)。另外还有一种操作数据库的接口是JDBC。
ADO.NET中通过SqlConnection类创建到SQL Server的链接,Sqlconnection代表一个数据库的链接,ADO.NET中的链接等资源都实现了IDisposable接口。
实现了IDisposable接口的对象,在使用完了,要进行资源的释放。调用Dispose()方法。
连接方式访问数据库,连接要打开,使用完要关闭。关闭之后,还可以再打开,这就是Close和Dispose的区别。Dispose(),是完全释放资源。
现在来测试一下,连接数据库是否成功了。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; //使用ADO.NET技术,必须要导入这两个命名空间 using System.Data; using System.Data.SqlClient; // namespace ADO.NET1 { class Program { static void Main(string[] args) { //创建数据库连接(连接字符串) string sqlCon = "server=.;database=DB_MyStudentLife;uid=sa;pwd=Password_1"; SqlConnection scon = new SqlConnection(sqlCon); //打开数据库连接 scon.Open(); //测试,判断数据库的连接状态 if (scon.State == ConnectionState.Closed) { Console.WriteLine("连接数据库失败"); } if (scon.State == ConnectionState.Open) { Console.WriteLine("成功打开连接数据库,连接成功"); } Console.ReadKey(); } } }
测试效果图:
最后我们来看看SqlConnection对象的内部原理吧:使用反编译工具reflector就可以;
1.从图中,我们看出来,SqlConnection继承了DbConnection类,实现了ICloneable接口
2.ICloneable接口里面是啥样子呢,我们来看一下,反编译:
3.接下来,我们看下Dbconnection类:
从图中可以看出,Dbconnection类是一个抽象类,继承了Component类,实现了IDbConnection接口,和IDisposable接口,下面我们分别来看看这几个
4.Component类:
看得出来这个类,也实现了IDisposable接口哦,
好了,其他还是来看看IDisposable接口内部的神秘面纱吧:
看得出来,IDisosable定义了一个Dispose(),抽象无返回值的方法。
以上所述就是本文的全部内容了,希望大家能够喜欢。
相关推荐
-
ADO.Net 类型化DataSet的简单介绍
一.弱类型DataSet的缺点:1.只能通过列名引用,dataset.Tables[0].Rows[0]["Age"],如果写错了列名编译时不会发现错误,因此开发时必须要记着列名.2.int age=Convert.ToInt32(dataset.Rows[0]["Age"]),取到的字段的值是object类型,必须小心翼翼的进行类型转换,不仅麻烦,而且容易出错.3.将DataSet传递给其他使用者,使用者很难识别出有哪些列可以供使用.4.运行时才能知道所有列名,数
-
ADO.NET EF中的实体修改方法
1.传统修改模式,看下列代码 复制代码 代码如下: using (NorthwindEntities context = new NorthwindEntities()) { Region region = context.Region.FirstOrDefault(v => v.RegionID == 4); region.RegionDescription = "Test"; context.SaveChanges(); } 监控SQL语句: 复制代码 代码如下: SQL1:
-
ADO.NET实体数据模型详细介绍
OleDbConnection,OracleConnection 或者SqlConnection这种连接,直接执行sql语句.现在的连接方式执行sql语句有了很大的不同,下面先看看简单的单表的增删改查操作,然后再看多表的关联查询,带参数查询等.一.ADO.NET Entity对单表的增删改查有一个表,即在工程中是一个实体user,为了测试方便,所有字段为string型. 1.增加新记录增加一条记录如下: [csharp] using (OracleEntities entities = new
-
ADO.NET基础知识汇总
虽然我们都知道ADO.NET是对数据库的操作,但是要真的说出ADO.NET的具体含义还不是很容易. ADO.NET是ActiveX Data Objects的缩写,它是一个COM组件库,用于在microsoft技术中访问数据.之所以叫ADO.NET,应该是微软自己打的广告,希望在NET编程环境中优先使用这种数据访问接口.上面这段话基本来自百度百科.简单来说,ADO.NET就是一种数据访问接口,可以让我们在程序中调用相应的类库对数据库(通常为SQL Server,也可以是access 等其他数据库
-
ADO.NET之连接池技术的使用详解
连接到数据库服务器通常需要一定的时间,且服务器也需要一定的资源来处理连接.Web应用程序有时处理成千上万的连接,需要相当多的资源来处理连接.ADO.NET具有连接池的特性,连接池的功能是保留一定数量的连接,当用户使用相同的连接字符串再次连接服务器时,ASO.NET将使用连接池中的连接而不用重新发起一次连接过程.当调用Close方法关闭连接时,ADO.NET将使用连接池中的连接而不用重新发起一次连接过程.当调用Close方法关闭连接时,连接将会返回到连接池中,下次再次调用Open方法时,将从连接池
-
ADO.NET 连接数据库字符串小结(Oracle、SqlServer、Access、ODBC)
ADO.NET 连接到 SQL Server SQL Server .NET Framework 数据提供程序支持类似于 OLE DB (ADO) 连接字符串格式的连接字符串格式. 复制代码 代码如下: using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); // Do work here. } 连接到 OLE DB 数据源 OLE DB .NET Framework
-
ADO.NET中的五个主要对象的详细介绍与应用
首先看一个例子 配置文件 复制代码 代码如下: <configuration> <connectionStrings> <add name=connStr" connectionString="Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\SS.mdf;Integrated Security=true;User Instance=True"/> </connecti
-
ASP.NET中实现把Json数据转换为ADO.NET DataSet对象
Json数据转换为ADO.NET DataSet其实方法有很多,Newtonsoft.Json也提供了DataSet的Converter用以转换Json数据.但是有些情况下DataSet Converter并不管用,而且也不一定能够满足项目需要.这里介绍另一种简单有效的方法,能够方便快速地将Json数据转为ADO.NET DataSet. 设计 事实上Newtonsoft.Json已经提供了一套完整的Json数据文档结构,Newtonsoft.Json.Linq命名空间下提供了这种文档结构的对象
-
ADO.NET编程之基础知识
一.ADO.NET基础 程序和数据库交互,要通过ADO.NET进行:通过ADO.NET就能在数据库中执行SQL了.ADO.NET中提供了对不同数据库的统一操作接口(ODBC).另外还有一种操作数据库的接口是JDBC. ADO.NET中通过SqlConnection类创建到SQL Server的链接,Sqlconnection代表一个数据库的链接,ADO.NET中的链接等资源都实现了IDisposable接口. 实现了IDisposable接口的对象,在使用完了,要进行资源的释放.调用Dispos
-
C# 多线程编程技术基础知识入门
什么是进程? 当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源.而一个进程又是由多个线程所组成的. 什么是线程? 线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针.程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数. 什么是多线程? 多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,也就是说允许单个程序创建多个并行执行的线程来完成各自的任务. 多线程是指程序中包含多个执行流,即在一个程序中
-
Lua中函数与面向对象编程的基础知识整理
函数 1. 基础知识 调用函数都需要写圆括号,即使没有参数,但有一种特殊例外:函数若只有一个参数且参数是字面字符串或table构造式,则圆括号可有可无,如dofile 'a.lua',f{x=10, y=20}. Lua为面向对象式的调用提供冒号操作符的特殊语法,如o.foo(o, x)等价于o:foo(x).和Javascript类似,调用函数时提供的实参数量可以与形参数量不同,若实参多了则舍弃,不足则多余的形参初始化为nil. 1.1 多重返回值 Lua允许函数返回多个结果,函数返回如ret
-
PowerShell面向对象编程基础知识总结
本文介绍PowerShell面向对象编程的基础知识,我们知道PowerShell里面的所有变量和输出都是对象,所以有必要在进行PowerShell编程时了解一下面向对象编程的基础知识. 面向对象编程的引入主要是为了解决软件复杂化带来的维护等问题,早在20世纪60年代,面向对象就已经出现了.虽然C语言并不支持面向对象的特性,但是使用C语言进行开发的程序人员已经将面向对象的核心思想应用到其中,因此我们更应该理解的是面向对象的思想,而不需要纠缠于语言本身. PowerShell是基于对象的脚本语言,因
-
易语言编程基础知识
创建一个易应用程序只需要短短几分钟的时间 - 通过在设计窗口上"绘制"诸如编辑框和按钮等组件来创建用户界面.然后,为窗口和组件设置属性以规定诸如标题.位置.尺寸等的值.最后,编写处理程序将生命真正赋于程序. 组件及事件驱动 组件及其事件驱动是使用易语言在 Windows 环境下编程的基础知识.所谓"组件",即用作组成用户图形界面的基本成员,譬如:窗口.编辑框.图片框等等.组件按可否容纳其它组件划分为容器类和非容器类.按运行时是否可能具有可视外形划分为界面类和功能类.
-
简单的编程0基础下Python入门指引
你曾经想知道计算机是如何工作的吗?尽管我们不能在一篇文章里面教会你所有的东西,但是可以通过学习如何写出你自己的程序来获得一个良好的开端.在这篇Python教程中,你将会学到计算机编程的基础知识,使用对新手来说最棒的编程语言之一. 什么是编程? 尽可能简单的讲,编程是编写代码,命令计算机去完成某项任务的艺术.这里讲的某项任务,可以是简单的两数相加,或是像把飞船送入轨道这样的复杂任务! 一个程序里面,最小的组成部分被称作语句(statement)--代表了对计算机做出的一条指令. 当你完成了自己的程
-
ADO.NET基础知识详解
ADO.NET是微软提供的一种数据库访问技术. ADO.NET为不同类型的数据源提供了不同的数据提供程序对象: 数据提供程序 说明 SQL Server 数据提供程序 提供对Microsoft SQL Server中数据的访问,使用System.Data.SqlClient命名空间. OLE 数据提供程序 提供对使用OLE DB公开的数据源(如Access.Excel等)中数据的访问,使用System.Data.oleDb命名空间. ODBC 数据提供程序 提供对使用ODBC公开的数据源中数据的
-
python 专题九 Mysql数据库编程基础知识
在Python网络爬虫中,通常是通过TXT纯文本方式存储,其实也是可以存储在数据库中的:同时在WAMP(Windows.Apache.MySQL.PHP或Python)开发网站中,也可以通过Python构建网页的,所以这篇文章主要讲述Python调用MySQL数据库相关编程知识.从以下几个方面进行讲解: 1.配置MySLQ 2.SQL语句基础知识 3.Python操作MySQL基础知识 4.Python调用MySQL示例 一. 配置MySQL 首先下载mysql-5.0.96-winx64,安装
-
java网络编程基础知识介绍
网络基础知识 1.OSI分层模型和TCP/IP分层模型的对应关系 这里对于7层模型不展开来讲,只选择跟这次系列主题相关的知识点介绍. 2.七层模型与协议的对应关系 网络层 ------------ IP(网络之间的互联协议) 传输层 ------------ TCP(传输控制协议).UDP(用户数据报协议) 应用层 ------------ Telnet(Internet远程登录服务的标准协议和主要方式).FTP(文本传输协议).HTTP(超文本传送协议) 3.IP地址和端口号 1.ip地址用于
-
盘点网络编程必须要知道的基础知识
在Java编程开发中,网络通信的开发是很重要的一部分,它是两台或多台计算机进行网络的基础,网络程序编写的目的也就是为了与其他计算机之间进行网络通信,所以今天大灰狼就来和大家分享一下Java网络通信中要的知道的一些知识. 其实在Java的发展过程中,为了更加方便的进行网络通信,开发者逐渐的将网络编程中所需要的一些内容封装成了不同的类,用户在进行网络编程时,只需要创建相应类的对象,并且调用相应的方法即可. 首先我们来了解一下网络的通信结构. 局域网和因特网 在网络通信中,两台计算机的信息传输可以使用
随机推荐
- mvc C# JavaScript LigerUI oracle实现用户的注册、登陆验证、登陆
- 基于react框架使用的一些细节要点的思考
- java 中HashMap实现原理深入理解
- Bootstrap轮播加上css3动画,炫酷到底!
- jsTree树控件(基于jQuery, 超强悍)[推荐]
- WordPress后台中实现图片上传功能的实例讲解
- 利用Python中SocketServer 实现客户端与服务器间非阻塞通信
- Asp.net 在三层架构中事务的使用实例代码
- Android自定义View实现QQ音乐中圆形旋转碟子
- Android使用Activity实现从底部弹出菜单或窗口的方法
- 设计高可用和高负载的网站系统的几个注意事项
- asp.net+ajax的Post请求实例
- JS定时器实例
- jQuery实现tag便签去重效果的方法
- JavaScript程序中实现继承特性的方式总结
- 计算100000数组js脚本的执行时间
- IE6下js通过css隐藏select的一个bug
- 原生js获取left值和top值的三种方法
- 详解微信小程序 通过控制CSS实现view隐藏与显示
- Spring框架web项目实战全代码分享