asp.net数据库操作类(一)
Hi Boy,
我现在需要使用asp.net操作access数据库,你来做个。boy听后就开始百度了,最后找到了一个比较好的方法。如下:
|
1
2 3 4 5 6 7 |
<appSettings>
<!-- 连接字符串是否加密 --> <add key="ConStringEncrypt" value="false"/> <!-- access 连接字符串--> <add key="ConnectionString" value="provider=microsoft.jet.oledb.4.0;data source="/> <add key="dbPath" value="~/App_Data/ems.mdb"/> </appSettings> |
后端代码:
|
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
string connectionString =
ConfigurationManager.AppSettings["ConnectionString"].ToString()+ HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["dbPath"]); OleDbConnection conn = new OleDbConnection(connectionString); try { conn.Open(); string sql = "select * from Table"; OleDbDataAdapter myadapter = new OleDbDataAdapter(sql, conn); DataSet ds = new DataSet(); myadapter.Fill(ds); } catch (Exception ee){} finally{ conn.Close(); } |
“恩,不错!”manager说,“但是你希望每次操作数据库都要这么写吗?新建一个Connection对象,新建一个Command,然后对数据库操作?”
Boy,Think......之后有了如下代码:
|
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
public class Common{
...... public static DataSet Query(string sql){ using (OleDbConnection connection = new OleDbConnection(connectionString)){ DataSet ds = new DataSet(); try{ connection.Open(); OleDbDataAdapter myadapter = new OleDbDataAdapter(sql, connection); DataSet ds = new DataSet(); myadapter.Fill(ds); } catch (System.Data.OleDb.OleDbException ex){ throw new Exception(ex.Message); } return ds; } } public static int ExecuteNonQuery(string){ ...... } } |
“恩,不错,这样每次操作只需要调用Common类的Query方法了,大大的简化了数据库的操作。”manager说道。
Boy心中非常高兴,听到赞赏。
“但是,这个还是存在着问题。”manager说道,“什么问题”,Boy疑惑的问道。
“你看这段代码,”
|
1
2 3 4 5 |
DataTable dt = ...;(假设这里datatable有100条数据)
;i<dt.Rows.Count;i++){ string sql =""; Common.ExecuteNonQuery(sql);//这里做更新操作 } |
“你看这段代码,执行100次更新操作,就执行(新建Connection对象,Command对象...)这种操作了100次,期间新建,销毁这些对象了100次。就是说,随着对数据库的操作次数的提升,付出的性能代价就越大。明白吗?”,manager问道。
Boy陷入了沉思中......
asp.net数据库操作类(一)的更多相关文章
- asp.net数据库操作类(二)
第二版的数据库访问类出炉了: C# Code 123456789101112131415161718192021222324252627282930313233343536373839404142 ...
- 自己封装的ASP.NET的MYSQL的数据库操作类
/** * 作者:牛腩 * 创建时间:2010年3月7日17时35分 * 类说明:对MYSQL数据库的操作类 */ using System; using System.Data; using MyS ...
- 【知识必备】ezSQL,最好用的数据库操作类,让php操作sql更简单~
最近用php做了点小东东,用上了ezSQL,感觉真的很ez,所以拿来跟大家分享一下~ ezSQL是一个非常好用的PHP数据库操作类.著名的开源博客WordPress的数据库操作就使用了ezSQL的My ...
- Android打造属于自己的数据库操作类。
1.概述 开发Android的同学都知道sdk已经为我们提供了一个SQLiteOpenHelper类来创建和管理SQLite数据库,通过写一个子类去继承它,就可以方便的创建.管理数据库.但是当我们需要 ...
- PHP 数据库操作类:ezSQL
EZSQL类介绍: 下载地址:http://www.jb51.net/codes/26393.htmlezsql是一个小型的快速的数据库操作类,可以让你很容易地用PHP操作各种数据库( MySQL.o ...
- 通用数据库操作类,前端easyui-datagrid,form
实现功能: 左端datagrid显示简略信息,右侧显示选中行详细信息,数据库增删改 (1)点击选中行,右侧显示详细信息,其中[新增].[修改].[删除]按钮可用,[保存]按钮禁用 (2)点击[ ...
- php : mysql数据库操作类演示
设计目标: 1,该类一实例化,就可以自动连接上mysql数据库: 2,该类可以单独去设定要使用的连接编码(set names XXX) 3,该类可以单独去设定要使用的数据库(use XXX): 4,可 ...
- php MySQL数据库操作类源代码
php MySQL数据库操作类源代码: <?php class MySQL{ private $host; //服务器地址 private $name; //登录账号 private $pwd; ...
- 一个基于PDO的数据库操作类(新) 一个PDO事务实例
<?php /* * 作者:胡睿 * 日期:2011/03/19 * 电邮:hooray0905@foxmail.com * * 20110319 * 常用数据库操作,如:增删改查,获取单条记录 ...
随机推荐
- centos6.4x64安装vncserver
参考文章:http://blog.csdn.net/mchdba/article/details/43058849 主要是远程安装oracle11g需要用到这个东西: 进入系统依次执行下列命令: #查 ...
- wordpress教程之文章页single.php获取当前文章所属分类
之所以要发这篇文章,是因为这个方法适用于: WP默认文章分类 手动添加的自定文章分类 插件(custom post type ui)添加的自定义文章分类(含taxonomy) 方法目的:在文章模板中, ...
- ubuntu14.04 安装搜狗输入法
(1)下载链接 http://pinyin.sogou.com/linux/ (2)清除fcitx $sudo apt-get purge fcitx* (3)使用deb安装工具gdebi,这个工具能 ...
- USB系列之二:读取USB设备的描述符
在前面的文章中,我们已经给出了USB协议的链接地址,从这篇文章起,我们会涉及到许多USB 1.1的内容,我们的指导思想是先从熟悉USB 1.1协议入手,先使用现成的HCD和USBD,直接面对客户端驱动 ...
- HtmlAttribute HTML属性处理类
HtmlAttribute 在HtmlAgilityPack扮演的是一个HTML代码属性的容器,同时提供了用于处理HTML属性的一些功能. 一.属性 int Line { get; } 获取文档中的此 ...
- Java中的native方法
博客引用地址:Java中的native方法 今天花了两个小时把一份关于什么是Native Method的英文文章好好了读了一遍,以下是我依据原文的理解. 一. 什么是Native Method 简单地 ...
- 三十一、Java图形化界面设计——布局管理器之GridLayout(网格布局)
摘自http://blog.csdn.net/liujun13579/article/details/7772491 三十一.Java图形化界面设计--布局管理器之GridLayout(网格布局) 网 ...
- iOS https认证 && SSL/TLS证书申请
1.下面列出截止2016年底市面上常见的免费CA证书: 腾讯云SSL证书管理(赛门铁克TrustAsia DV SSL证书)阿里云云盾证书服务(赛门铁克DV SSL证书)百度云SSL证书服务Let's ...
- 实现一次请求加载多个js或者css
http://tengine.taobao.org/ 相当牛x
- Esper学习之六:EPL语法(二)
中秋三天,说闲也不闲,调调工作的代码,倒还解决不少问题.不过也是因为最近工作忙的缘故,Esper被我冷落不少日子了,趁着今天最后一天,赶紧写一篇出来. 从上一篇开始说EPL的语法,主要是关于注解的.今 ...