微软发布的Data Access Application Block的使用代码

为了方便的访问数据,微软自己封装了一个数据访问模块, 即Data Access Application Block. 通过它,我们用来访问数据库的编码量大大减少了. 这样的代码既有效率,又减少了出现错误的几率,其益处是可见的. 下面举两个例子比较一下

1. 使用一般的sql语句进行控件绑定, 常规代码如下:

1//Create the connection and sql to be executed
 2string strConnTxt = "Server=(local);Database=Northwind;Integrated Security=True;";
 3string strSql = "select * from Products where categoryid = 1"
 4
 5//Create and open the connection object
 6SqlConnection objConn = new SqlConnection(strConnTxt);
 7objConn.Open();
 8
 9//Create the connamd object
10SqlCommand objCmd = new SqlCommand(strSql, objConn);
11objCmd.CommandType = CommandType.Text;
12
13//databind the datagrid by calling the ExecuteReader() method
14DataGrid1.DataSource = objCmd.ExecuteReader();
15DataGrid1.DataBind();
16
17//close the connection
18objConn.Close();如果用微软封装的Data Access Application Block, 其主要是sqlHelper类,代码如下:
1//Create the connection string and sql to be executed
2string strSql = "select * from products where categoryid = 1";
3string strConnTxt = "Server=(local);Database=Northwind;Integrated Security=True;";
4
5DataGrid1.DataSource = SqlHelper.ExecuteReader(strConnTxt, CommandType.Text, strSql);
6DataGrid1.DataBind();
2. 调用存储过程进行控件绑定
常规代码如下:

1//Open a connection to Northwind
 2SqlConnection objConn = new SqlConnection("Server=(local);Database=Northwind;Integrated Security=True;");
 3ObjConn.Open();
 4
 5//Create the stored procedure command object
 6SqlCommand objCmd = new SqlCommand("getProductsCategory", objConn);
 7objCmd.CommandType = CommandType.StoredProcedure;
 8
 9//create the parameter object for the stored procedure parameter
10objCmd.Parameter.Add("@CategoryID", SqlDbType.Int);
11objCmd.Parameter["@CategoryID"].Value = 1;
12
13//create our DataAdapter and DataSet objects
14SqlDataAdapter objDA = new SqlDataAdapter(objCmd);
15DataSet objDS = new DataSet("Category_Results");
16
17//fill the dataset
18objDA.Fill(objDS);
19
20//databind the datagrid
21DataGrid1.DataSource = objDS;
22DataGrid1.DataBind();
23
24//close connection
25objConn.Close();如果用微软封装的Data Access Application Block,其主要是sqlHelper类,代码如下:
1string strConn = "Server=(local);Database=Northwind;Integrated Security=True;";
2DataSet objDS = SqlHelper.ExecuteDataset(strConn, CommandType.StoredProcedure, "getProductsByCategory", new SqlParameter("@CategoryID", 1));
3
4DataGrid1.DataSource = objDS;
5DataGrid1.DataBind();
Data Access Application Block, 有其封装的源代码和帮助文件,我们也可以根据项目需求做一下改动再编译成dll引入项目,以给项目开发带来便利. 下载地址如下:
http://download.microsoft.com/download/VisualStudioNET/daabref/RTM/NT5/EN-US/DataAccessApplicationBlock.msi

(0)

相关推荐

  • 微软发布的Data Access Application Block的使用代码

    为了方便的访问数据,微软自己封装了一个数据访问模块, 即Data Access Application Block. 通过它,我们用来访问数据库的编码量大大减少了. 这样的代码既有效率,又减少了出现错误的几率,其益处是可见的. 下面举两个例子比较一下 1. 使用一般的sql语句进行控件绑定, 常规代码如下: 1//Create the connection and sql to be executed  2string strConnTxt = "Server=(local);Database=

  • 微软发布12款安全补丁 涉及所有Windows版本

    新浪科技讯 美国当地时间2月8日(北京时间2月9日)消息,微软周二发布了12个安全漏洞补丁,其中8个危害程度为最高级别,攻击者可利用这些漏洞控制用户的整个系统,因此要求用户立即下载安装这些补丁. 微软称,在发布的12个安全漏洞补丁中,8个属"危急"级别,其中7个可影响到Windows操作系统及相关应用软件,其中包括IE浏览器.媒体播放器和即时通信程序.第8个漏洞存在于Office XP之中.虽然另外四个补丁的安全级别较低,但如果这些漏洞被攻击者所利用,他们也能取得对系统的部分控制权.这

  • Spring中数据访问对象Data Access Object的介绍

    在Spring中,DAO是Data Access Object的简称,即,数据访问对象. 它的名称虽然叫对象,但其实DAO是接口.这个名称很好的描述了DAO在程序中的角色.DAO的作用在于提供一种手段,来读取和写入数据库,他们应该通过接口的方式来提供这种功能,让程序的其他部分可以访问他们,而不必与特定的读取和写入数据库的实现方式进行绑定. 在程序中,与DAO相关的类的关系一般如下图所示. 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们

  • spring boot application properties配置实例代码详解

    废话不多说了,直接给大家贴代码了,具体代码如下所示: # =================================================================== # COMMON SPRING BOOT PROPERTIES # # This sample file is provided as a guideline. Do NOT copy it in its # entirety to your own application. ^^^ # ========

  • C++ 中实现把EXCEL的数据导入数据库(ACCESS、MSSQL等)实例代码

    C++ 中实现把EXCEL的数据导入数据库(ACCESS.MSSQL等)实例代码 在把EXCEL的数据导入数据库之前,先进行一些简单的准备工作: 1.把数据所在的EXCEL表另保存为DBF 4格式. 2.打开BCB,添加AdoTable(改名为DBFTable)和DataSource这两个控件 OK,准备工作,到此结束,剩下的就是打代码了 1.在Form_Load()事件中,加入以下代码: AnsiString filepath=ExtractFilePath(FileName); //File

  • php和asp利用Shell.Application来执行程序的代码

    今天试了一下,用open也可以.php代码如下,我好像还没有在php的webshell中看到相关方法 复制代码 代码如下: <?php $wsh = new COM('Shell.Application') or die("Shell.Application"); $exec = $wsh->open("c:\\windows\\system32\\notepad.exe"); //没有回显,多了个notepad进程,可以写一个批处理来运行dos命令.o

  • asp php 清空access mysql mssql数据库的代码

    asp代码 复制代码 代码如下: <% Dim Rs,Conn Set Conn=Server.CreateObject("Adodb.Connection") Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&server.mappath("readlog.mdb") Set Rs=Conn.OpenSchema(20) Do While not Rs.Eof If

  • Spring Data Jpa实现分页和排序代码实例

    之前我们学习了如何使用Jpa访问关系型数据库.通过Jpa大大简化了我们对数据库的开发工作.但是,之前的例子中我们只提到了最简单的CRUD(增删改查)操作.实际上,Spring Data Jpa对于分页以及排序的查询也有着完美的支持,接下来,我们来学习如何通过Pageable来对数据库进行分页查询. 添加maven依赖 首先我们需要引入Jpa,数据库直接使用hsqldb内存数据库就可以了: <project xmlns="http://maven.apache.org/POM/4.0.0&q

  • PHP读取ACCESS数据到MYSQL的代码

    复制代码 代码如下: <?php header('ontent-Type:text/html;charset=GB2312');//避免输出乱码 $dbhost ="localhost"; $dbuser ="root"; $dbpassword = "123456"; $dbname = "139miaosha"; mysql_connect($dbhost,$dbuser,$dbpassword) or die(&q

  • nodejs redis 发布订阅机制封装实现方法及实例代码

     nodejs redis 发布订阅机制封装 最近项目使用redis,对publish 和 subscribe的使用进行了了解,并进行了封装. var config = require('../config/config'); var log = require("./loghelp"); var redis = require("redis"); function initialclient(param) { var option={ host: config.r

随机推荐