Data Access Application Block

[SQLHelper] Data Access Application Block for .NET V2 。。。。。。。[SQLHelper] Data Access Application Block for .NET V2 立即下载

Data Access Application Block有如下好处:

l         减少编写重复累赘代码去执行标准的任务。

l         帮助在应用程序内部和跨企业应用维护一致的数据访问实践。

l         降低改变物理数据目标的难度。

l         减轻开发人员学习不同数据库类型的不同编程模型。

l         当移植应用程序到不同数据库类型时,减少重写代码的数量。

 

Data Access Application Block依赖项:

l         Data Access Application Block依赖其他的application blocks和Enterprise Library中的代码。

l         Configuration Application Block – Data Access Application Block使用该Configuration Application Block读取配置信息。

l         Common类库功能,如instrumentation – 提供不同功能用来显示事件和系统管理的数据。

l         此外,application block使用XML文件存放配置信息,推荐采用Enteprise Library配置工具来修改这些配置信息。

 

使用Enteprise Library配置工具创建配置文件:

创建DemoDAAP应用程序,使用Configuration Console配置app.config文件。应注意Connection String的设置,在本示例中,设置Integrated Security为False,并添加User ID和Password参数及其参数值,Database属性值为Northwind。
Enterprise_ConfigurationConsole.jpg

 

选择合适的重载方法

每一个数据访问方法均有许多重载,如下的描述和指导帮助你选择合适的重载:

l         一些重载方法接受DBCommandWrapper对象,DBCommandWrapper在一个对象内同时封装了command和参数。允许你同时增加输入/输出参数和设置这些参数的类型。这些重载提供了很好的灵活性和对每一个方法的控制。

l         一些重载方法接受存储过程和存储过程参数集合,当调用仅有输入参数的存储过程时,调用这些重载比较方便。

l         一些重载方法接受System.Data.CommandType和字符串命令,当执行在线的SQL语句或没有参数的存储过程时,调用这些重载比较方便。

l         最后,上述的每一个重载都包含一个接受事务的重载方法,当在现有事务内执行方法时,允许你使用合适的重载类型。

Data Access Application Block使用向导:

1.增加对Microsoft.Practices.EnterpriseLibrary.Data.dll和Microsoft.Practices.EnterpriseLibrary.Configuration.dll的引用,并在代码在添加:

using Microsoft.Practices.EnterpriseLibrary.Data;

 

2.调用代码示例:

(1) ExecuteDataSet方法

Database db = DatabaseFactory.CreateDatabase();

DataSet dsCustomers = db.ExecuteDataSet(CommandType.Text, "Select * From Customers" );

customerGrid.DataSource = dsCustomers.Tables[0];

 

(2) ExecuteReader方法

Database db = DatabaseFactory.CreateDatabase();

 

string sqlCommand = "Select top 5 * From Customers";

DBCommandWrapper dbCommandWrapper = db.GetSqlStringCommandWrapper(sqlCommand);

 

StringBuilder readerData = new StringBuilder();

 

using (IDataReader dataReader = db.ExecuteReader(dbCommandWrapper))

{

while (dataReader.Read())

{

readerData.Append(dataReader["ContactName"]);

readerData.Append(Environment.NewLine);

}

}

 

txtResult.Text = readerData.ToString();

为了执行SQL语句,上述代码使用GetSqlStringCommandWrapper方法创建合适command wrapper对象,然后作为参数传递给ExecuteReader方法。

 

(3) ExecuteNonQuery方法

Database db = DatabaseFactory.CreateDatabase();

 

string sqlCommand = "getProductDetails";

DBCommandWrapper dbCommandWrapper = db.GetStoredProcCommandWrapper(sqlCommand);

 

// Add paramters

int productID=1;

// Input parameters can specify the input value

dbCommandWrapper.AddInParameter("@ProductID", DbType.Int32, productID);

// Output parameters specify the size of the return data

dbCommandWrapper.AddOutParameter("@ProductName", DbType.String, 40);

dbCommandWrapper.AddOutParameter("@UnitPrice", DbType.Currency, 8);

dbCommandWrapper.AddOutParameter("@QtyPerUnit", DbType.String, 20);

 

db.ExecuteNonQuery(dbCommandWrapper);

 

// Row of data is captured via output parameters

string results = string.Format(CultureInfo.CurrentCulture, "{0}, {1}, {2:C}, {3} ",

      dbCommandWrapper.GetParameterValue("@ProductID"),

      dbCommandWrapper.GetParameterValue("@ProductName"),

      dbCommandWrapper.GetParameterValue("@UnitPrice"),

      dbCommandWrapper.GetParameterValue("@QtyPerUnit"));

 

txtResult.Text = results;

为了执行存储过程,上述代码使用GetStoredProcCommandWrapper方法创建合适的command wrapper对象,然后作为参数传递给ExecuteNonQuery方法。

 

(4) ExecuteScalar方法

Database db = DatabaseFactory.CreateDatabase();

 

string sqlCommand = "GetProductName";

int productID=1;

DBCommandWrapper dbCommandWrapper = db.GetStoredProcCommandWrapper(sqlCommand, productID);

 

// Retrieve ProdcutName. ExecuteScalar returns an object, so

// we cast to the correct type (string).

string productName = (string) db.ExecuteScalar(dbCommandWrapper);

 

txtResult.Text = productName;

 

Demo程序界面如下(注意在项目属性窗口中设置Post-build Event Command Line属性值:copy "$(ProjectDir)*.config" "$(TargetDir)"):
Enterprise_DAABDemo.JPG

 

***

非常实用c#操作Access数据库的例子(application) 本文介绍C#访问操作Access数据库的基础知识,并提供一个相关的例程。 1.通过ADO.NET的OleDb相关类来操作Access 主要知识点如下: using System.Data.OleDb; using System.Data; 连接字符串:String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=product.mdb"; 建立连接:OleDbConnection connection = new OleDbConnection(connectionString); 使用OleDbCommand类来执行Sql语句: OleDbCommand cmd = new OleDbCommand(sql, connection); connection.Open(); cmd.ExecuteNonQuery(); 2.取得Access自增标识字段在插入数据后的id值 cmd.CommandText = @"select @@identity"; int value = Int32.Parse(cmd.ExecuteScalar 立即下载

相关推荐

使用DataAccessApplicationBlock(数据访问应用.pdf

使用DataAccessApplicationBlock(数据访问应用.pdf

Microsoft Application Blocks for .NET

Microsoft Application Blocks for .NETData Access Application Block 概述Chris Brooks、Graeme Malcolm、Alex Mackman、Edward JezierskiMicrosoft Corporation2002 年 4 月摘要:Data Access Application

Blog.AspDotNet.CN::rAgeCheung的专栏 1234

PSO算法介绍

结合网上的文章对PSO进行一些介绍,并附上自己复现的算法。

Witty_Hou的博客 1万+

Enterprise Library 2.0 -- Data Access Application Block

Enterprise Library 2.0 -- Data Access Application Block         前面介绍了Enterprise Library 2.0 中的Caching Application Block 和 Cryptography Application Block,今天我们来看一下Enterprise Library 2.0里对数据处理的部分--Data

2006

oracle合并行---解决listagg 拼接字段返回过长 (Ora-01489 result of String concatenation is too long)

oracle合并行---解决listagg 拼接字段返回过长 (Ora-01489 result of String concatenation is too long)

清影的博客 6281

D19: OpenClaw 安全性配置指南

在 OpenClaw 的 30 天探索旅程中,我们已经探讨了邮件自动化(D18)。今天进入安全专题,我将分享一个至关重要的话题:OpenClaw 安全性配置指南。 随着 OpenClaw 深入工作流核心,它掌握了越来越多的敏感信息: API Keys(GitHub、飞书、Notion、Jira...) 企业数据(代码库、文档、聊天记录) 个人数据(日历、邮件、任务) 系统权限(文件读写、命令执行、网络访问) 安全不是可选项,而是必选项。一次配置失误可能导致: API Key 泄露 → 账号被盗用权限

刘一说的IT专栏 203

Enterprise Library :数据访问程序块学习1

一.Data Access Application Block能够做什么?        1.提供最佳实践;        2.改善一致性;        3.改善安全性;        4.改善易用性; 二.Data Access Application Block使用: 这里我把DAAB的使用过程总结为三部曲。在开始前我们假设已经有一个新建好的项目,并且有Web.config或Ap...

weixin_34395205的博客 162

大数据开发工程师必备面试题与解答

大数据开发岗位一直是互联网行业的热门方向,面试过程中既考察基础知识,也关注实际项目经验和问题解决能力。本文整理了等核心组件相关的高频面试题及参考解答,帮助大家高效准备面试。大数据面试不仅考察基础理论,更看重项目经验与问题解决能力。本文涵盖了等核心知识点及调优思路,希望能帮助你在面试中游刃有余。

X2829352498的博客 302

Data Access Application Block 概述

Microsoft Application Blocks for .NETData Access Application Block 概述Chris Brooks、Graeme Malcolm、Alex Mackman、Edward JezierskiMicrosoft Corporation2002 年 4 月摘要:Data Access Application Block 是一个 .NET 组

小小白鹭的小窝 901

Win7/10/11文件拖拽导致资源管理器闪退问题

最近老是遇到把文件从资源管理器拖动到微信或者浏览器时,资源管理器直接闪退的问题,一开始在公司遇到了还以为是电脑配置太低,直到被封闭在家办公,发现自己的高级电脑也有这个问题,那就来了解了解问题是出在什么地方把。

Nicer_feng's blog 1万+

视图库对接系列(GA-T 1400)四、视图库对接系列(本级)注册

在之前的步骤中,我们已经把项目大体的架构已经写出来了。那我们就来实现注册接口。GA-T 1400中的步骤如下:这里的话,我们实现的简单点, 我们不进去鉴权,也就是设备或平台找我们注册的话,我们直接返回成功,不进行验证。如果需要鉴权的话可看我的另外一篇文档。

qq_37716298的博客 1043

Data Access Application Block V2 类库中文文档

Data Access Application Block V2 类库中文文档 数据访问应用程序块V2 (Data Access Application Block) 是一个 .NET 组件,它包含经过优化的数据访问代码,可以帮助用户调用存储过程以及向 SQL Server 数据库发出 SQL 文本命令。它返回 SqlDataReader、DataSet 和 XmlReader 对象。您可

wildhope的专栏 2149

《Zephyr OS 入门与实战》第1章:Zephyr OS 架构与物联网定位

【代码】《Zephyr OS 入门与实战》第1章:Zephyr OS 架构与物联网定位。

2301_79143213的博客 1270

博客园程序中的Data Access Application Block升级

升级到了Data Access Application Block 3.1 。

weixin_34344677的博客 88

基于强化学习的多无人机路径规划

我们使用了Dueling Double Deep Q-Network(DDDQN)算法来训练智能体,这个算法在深度Q学习算法的基础上进行了升级,具有更快的收敛速度和更好的性能。本文提出了一种基于强化学习的算法,实现了多无人机路径规划,并提供相应的MATLAB代码。通过基于强化学习的多无人机路径规划算法,我们能够高效地解决复杂环境下的任务需求,并在实际应用中取得了良好的效果。首先,我们定义了状态空间和动作空间。实验结果表明,我们的方法能够有效地解决多无人机路径规划问题,提高了任务完成的效率和准确率。

DjjPython的博客 820

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Data Access Application Block for .NET

http://www.microsoft.com/china/MSDN/library/EnterpriseDevelopment/BuildDistApp/Vsdnbdadaab_rm.mspx?mfr=true   摘要:数据访问应用程序块 (Data Access Ap

plean的专栏 546

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Data Access Application Block V2 类库中文文档(转贴 )

Data Access Application Block V2 类库中文文档(venjiang发表于2004-8-24 17:24:54)数据访问应用程序块V2 (Data Access Application Block) 是一个 .NET 组件,它包含经过优化的数据访问代码,可以帮助用户调用存储过程以及向 SQL Server 数据库发出 SQL 文本命令。它返回 SqlDataReader

1632

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Enterprise Library Data Access Application Block结构

Summary: 如何入门使用Data Access Application Block,可以参考Enterprise Library 3.1中文帮助:数据访问应用程序块。这篇文章侧重在DAAB工作原理、代码结构上的一些注解。 DAAB中抽象类Database提供了针对数据库操作的接口,从它派生出来的各个数据库类使用工厂方式创建。我们可以基于这个机制进行扩展,实现对其它数据库的支持,例...

weixin_33912453的博客 83

Get Started with the Enterprise Library Data Access Application Block

Introduction [ Back To Top ] [ Download Code ] The Enterprise Library

camel0564的专栏 1136

Enterprise Library —— Data Access Application Block

Data Access Application Block:数据库访问应用程序块,提供了一个简单的数据库访问方式。1.对数据库访问提供了简单、高效的访问方式    减少编写重复累赘代码去执行标准的数据访问任务    易于使用,使用单条语句即可完成Stored Procedure的调用    屏蔽了对常用ADO.NET使用的复杂度,提供了基于最佳实践,正确快速使用接口2.对不同类型的数据库(SQLServer/Oracle/DB2)提供了编程上的透明性    为不同数据库类型提供了统一的编程    当移植应用

O Wen 1139
上一篇: SqlHelp使用指南
下一篇: .NET Pet Shop 4:将 ASP.NET 1.1 应用程序迁移到 2.0
FindingMySelf
博客等级 码龄20年 1粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值