1、前行引入命名空间:
using System.Data;
using Microsoft.Practices.EnterpriseLibrary.Data;
using Microsoft.Practices.EnterpriseLibrary.Common;
using Microsoft.Practices.EnterpriseLibrary.Common.Configuration;
using Microsoft.Practices.ServiceLocation;
using System.Data.Common;
using System.Data.SqlClient;
2、创建database实例,这里有两种方式
第一种:Database db = DatabaseFactory.CreateDatabase("QuickStarts Instance");
这里的QuickStarts Instance是配置文件中的 connectionStrings -> add name。配置文件如下:
<configSections>
<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=5.0.414.0, Culture=neutral, PublicKeyToken=null" requirePermission="true" />
</configSections>
<dataConfiguration defaultDatabase="Connection String" />
<connectionStrings>
<add name="QuickStarts Instance" connectionString="Database=EntLibQuickStarts;Server=.;uid=sa;pwd=11"
providerName="System.Data.SqlClient" />
</connectionStrings>
第二种方式: Database DB = EnterpriseLibraryContainer.Current.GetInstance<Database>("QuickStarts Instance");
但这种方式一定要加一个命名空间的引入:using Microsoft.Practices.ServiceLocation;
3、数据操作之IDataReader
using (IDataReader reader = DB.ExecuteReader(CommandType.Text, "select * from Categories;"))
{
while (reader.Read())
{
ListItem item = new ListItem();
item.Value = reader["CategoryID"].ToString();
item.Text = reader["CategoryName"].ToString();
DropDownList1.Items.Add(item);
}
}
以上是SQL语句的形式,如果是存储过程的话,代码如下:
DbCommand procedureCmd=DB.GetStoredProcCommand("GetProductsByCategory");
DB.AddInParameter(procedureCmd,"CategoryID",DbType.Int32,2);
using (IDataReader readerProcedure = DB.ExecuteReader(procedureCmd))
{
while (readerProcedure.Read())
{
ListItem item = new ListItem();
item.Value = readerProcedure["ProductID"].ToString();
item.Text = readerProcedure["ProductName"].ToString();
DropDownList2.Items.Add(item);
}
}
4、数据操作之DataSet
sql语句形式:
DataSet ds = db.ExecuteDataSet(CommandType.Text,"select * from Customers");
存储过程形式:
DbCommand proCmd = DB.GetStoredProcCommand("GetProductsByCategory");
DB.AddInParameter(proCmd,"CategoryID",DbType.Int32,2);
DataTable proDs = DB.ExecuteDataSet(proCmd).Tables[0];
给DataSet中DataTable命名:
string sqlString = "select * from Products;select * from Categories;";
DbCommand cmd = DB.GetSqlStringCommand(sqlString);
DataSet loadDs = new DataSet("ProductsTable");
DB.LoadDataSet(CommandType.Text,sqlString,loadDs,new string[]{"Products","Categorys"});//this is a very important point
DataTable dt = loadDs.Tables["Products"];
修改DataTable中的行:
1、删除行:dt.Rows[dt.Rows.Count-1].Delete();
2、添加行:
object[] rowData = new object[] { 83, "xiaochunProduct", 2, 18.00, "2012/11/26 10:13:40" };
dt.Rows.Add(rowData);
3、编辑行:
object[] rowData2 = dt.Rows[80].ItemArray;
rowData2[1] = "qqqqq";
rowData2[4] = System.DateTime.Now.ToShortDateString();
dt.Rows[80].ItemArray = rowData2;
5、获取返回结果中第一行第一列的值
int count = (int)db.ExecuteScalar(CommandType.Text,"select count(*) from Customers");
6、执行SQL语句,返回受影响的行数
int count2 = db.ExecuteNonQuery(CommandType.Text, "insert into ……");
转自:http://www.cnblogs.com/msql/archive/2012/12/05/2803521.html
相关推荐
Enterprise Library --Data Access Application Block整理(入门,示例)
Microsoft Enterprise Library January 2006,支持mysql。 Microsoft.Practices.EnterpriseLibrary.Data.dll。 可用于.net框架2.0。
This release includes: Data Access Block, Exception Handling Block, Logging Block, Policy Injection Block, Semantic Logging Block, Transient Fault Handling Block, Validation Block, and Unity;...
Enterprise Library – Data Access Application Block 学习手册(最新版) - Part 1 Enterprise Library for .Net Framework 3.5 – EntLib v4.1 是 patterns & practices 小组为.NET Framework 3.5 开发一套企业库...
Microsoft.Practices.EnterpriseLibrary.Data.dll Microsoft.Practices.EnterpriseLibrary.Common.dll Microsoft.Practices.ObjectBuilder.dll
vs2017 工程 用EnterpriseLibrary.6链接MySQL数据 MySql.Data.8.0.15 EnterpriseLibrary.Data.6.0.1304.0 EnterpriseLibrary.Common.6.0.1304.0
The Data Access Application Block The Exception Handling Application Block The Transient Fault Handling Application Block The Logging Application Block The Semantic Logging Application Block The ...
下载后可直接复制到系统根目录下,添加引用后直接调用
Enterprise Library 企业库数据访问应用程序块实例:自己写的demo 包括源码
Microsoft.Practices.EnterpriseLibrary.Data示例
Microsoft.Practices.EnterpriseLibrary.Data.dll
Enterprise Library 3.1 是 Microsoft patterns & practices Enterprise Library 的一个新的发行。Enterprise Library 是一个应用程序块的集合。这些可重用的软件组件为帮助开发者解决普通企业开发的挑战而设计。这...
Enterprise Library系列课程概述\Enterprise Library系列课程(7)
<br/>Enterprise Library是微软Patterns & Practices 项目组 推出的公共模块解决方案,用来解决我们在企业级开发中遇到公共问题,如配置管理、数据访问、缓存管理、记录操作日志、异常管理、加密解密、权限管理...
Enterprise+Library 的最新版源代码
使用微软企业类库Microsoft Enterprise Library4.0访问达梦数据库的源代码
<br/>Enterprise Library是微软Patterns & Practices 项目组 推出的公共模块解决方案,用来解决我们在企业级开发中遇到公共问题,如配置管理、数据访问、缓存管理、记录操作日志、异常管理、加密解密、权限管理...
包括各种Microsoft.Practices.EnterpriseLibrary.Common.dll的版本,如Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ContainerModel等
Microsoft.Practices.EnterpriseLibrary.Data.dll Microsoft.Practices.EnterpriseLibrary.Data.SqlCe.dll Microsoft.Practices.ServiceLocation.dll Microsoft.Practices.Unity.dll Microsoft.Practices.Unity....