第三章:提高系统性能:从数据访问开始

使用using释放资源

SqlConnection conn = new SqlConnection (connString);
 try
 {
 conn.Open(); //省略访问数据库代码...
}
catch (Exception ex) { throw ex; }
finally
{
conn.Close();
}

数据库连接通常属于有限的服务器资源,因此要在使用后马上关闭.这是提高数据

库访问性能的基本方法.在代码中,finally块中调用Close()方法释放连接,确保

即使有异常发生,连接也能被释放,.除了使用try-catch-finally语句外,也可以

通过using语句来尽快释放资源.

using语句的两个作用 1.作为关键字,using可以导入命名空间. 2.作为C#语句,using可以释放对象占用的内存资源.

语法:

using(SqlConnection conn = new SqlConnection(connString))
{
//数据库操作代码...
}
时间: 2024-11-06 15:33:49

第三章:提高系统性能:从数据访问开始的相关文章

【软件构造】第三章第三节 抽象数据型(ADT)

第三章第三节 抽象数据型(ADT) 3-1节研究了"数据类型"及其特性 ; 3-2节研究了方法和操作的"规约"及其特性:在本节中,我们将数据和操作复合起来,构成ADT,学习ADT的核心特征,以及如何设计"好的"ADT. Outline ADT及其四种类型 ADT的基本概念 ADT的四种类型 设计一个好的ADT 表示独立性 ADT的特性 不变量 表示泄露 抽象函数AF 表示不变量RI 以注释的形式撰写AF.RI Notes ## ADT及其四种类型

软件构造 第三章第三节 抽象数据型(ADT)

软件构造 第三章第三节 抽象数据型(ADT) Creators(构造器): 创建某个类型的新对象,?个创建者可能会接受?个对象作为参数,但是这个对象的类型不能是它创建对象对应的类型.可能实现为构造函数或静态函数.(通常称为工厂方法) t* ->  T 例子:Integer.valueOf( ) Producers(生产器): 通过接受同类型的对象创建新的对象. T+ , t* -> T 例子:String.concat( ) Observers(观察器): 获取抽象类型的对象然后返回一个不同类

EF3:Entity Framework三种开发模式实现数据访问

前言 Entity Framework支持Database First.Model First和Code Only三种开发模式,各模式的开发流程大相径庭,开发体验完全不一样.三种开发模式各有优缺点,对于程序员没有哪种模式最好,只有哪种模式更适合.接下来我将分别使用这三种开发模式实现同一数据库模型的数据持久化功能.希望通过实践能帮助你找到更适合你的开发模式 Database First Database First开发模式指以数据库设计为基础,并根据数据库自动生成实体数据模型,从而驱动整个开发流程

第三章:iOS的数据存储与IO

如果应用程序值需要保存程序参数.选项相关的少量数据,则可使用NSUserDefaults进行保存; 如果应用程序只是少量数据需要保存,那使用属性列表文件就可以了; 如果应用程序有大量数据需要存储.访问,就需要借助于数据库.iOS系统内置了SQLite数据库,SQLite数据库是一个真正轻量级的数据库,他没有后台进程,整个数据库就对应于一个文件,这样就可以非常方便的在不同设备之间移植.iOS为访问SQLite数据库提供了两套API:基于C语言风格的libsqlite3.dylib和面向对象的Cor

第三章使用集合相关数据

ArrayList是一种动态数组,在new的时候,可以不指定长度,当你添加数据的时候,发现容量不够,他会自动扩容.引入system.collections 命名空间--实例化ArrayList对象using system.collections(引入命名空间)ArrayList engineers=new ArrayList();实例化一个对象ArrayList engineers=new ArrayList(5)可指定长度 C#3.0语言的新特征由一系列元素初始化构成,包围在{和}之间并使用逗

汇编语言第三章总结

第三章中,我们从访问内存的角度了解学习几个寄存器 下面将知识点总结如下: 一.16位寄存器存储一个字,就要用高8位存放高位字节,低8位存放低位字节 0为低地址单元,1为高地址单元,表示数据4E20H(20000),起始地址是0,即是0地址字单元 存储字用两个单元,逆序存放,而存储字节只用一个单元 二.mov al,[0]  表示将内存单元内容存入寄存器,[]中的0表示偏移地址,DS寄存器,存放访问数据的段地址 用mov指令只能通过如 mov bx,1000 mov ds,bx 为DS寄存器赋值,

ADO.NET(完整修改和查询、实体类,数据访问类)

一.完整修改和查询 在编写c#语句时需考虑到用户体验,例如在编写修改语句时,需要考虑到输入的内容在数据库中是否能够找到. 中间变量运用. 1.先查 2.执行操作 完整修改语句: bool has = false; Console.Write("请输入要修改的用户名:"); string Uname = Console.ReadLine(); //到数据库中查询输入的用户名是否存在 SqlConnection conn = new SqlConnection("server=.

LINQ和.NET数据访问

.NET数据访问 在.NET中对于数据的访问大致有三个层面,数据访问层.内存数据集.业务逻辑层.数据层,包括了XML配置文件以及一些常用的数据库(使用SQL语句):内存数据集,主要是DataSet数据集,在DataSet中包括Datatable,而Datatable中又分为DataRow和DataColumn.具体的访问数据集中的数据,一般通过DataRow:业务逻辑层,就是常用的一些对象的泛型集合. LINQ基础 与数据访问三个层面对应,数据访问层,使用LINQ to XML.LINQ to

高性能javascript(第二章 数据访问)

1.数据存储位置关系到访问速度.在 JavaScript 中有四种基本的数据访问位置: 直接量: 变量: 数组: 对象: 2.多数情况下,对一个直接量和一个局部变量数据访问的性能差异是微不足道的. 3.作用域和标示符解析: 每一个 JavaScript 函数都被表示为对象.进一步说,它是一个函数实例.函数对象正如其他对象那样, 拥有你可以编程访问的属性,和一系列不能被程序访问,仅供 JavaScript 引擎使用的内部属性. 其中一个内部属性是[[Scope]],由ECMA-262 标准第三版定