C#利用微软企业库Enterprise Library操作mysql数据库
在C#项目中,很多时候到要用到Enterprise Library。这里只是用一个很简单的小例子来演示一下Enterprise Library在VS2010中操作mysql数据库的流程。
1,利用Enterprise Library操作mysql数据库。首先要具备一下天剑
(1)项目中要引用MySql.Data和MysroSoft.Practices.EnterpriseLibrary.Data这两个动态库。如果该项目的目标框架为.NET Framework 4 Client Profile,在程序编译过程中会报错,此时要把项目的目标框架改为.NET Framework 4(具体做法为:选中项目,点击右键,选择属性,然后进入修改即可)
(2)安装“mysql-connector-net-6.7.4.msi”。运行程序的环境中要安装“mysql-connector-net-6.7.4.msi”。他的版本要与(1)中MySql.Data的版本一致。
(3)在该项目的应用程序配置文件(app.config或web.config)中进行如下配置(配置中的版本号与上面的版本号一直).
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings,Microsoft.Practices.EnterpriseLibrary.Data"/>
</configSections>
<system.data>
<DbProviderFactories>
<remove invariant="MySql.Data.MySqlClient"/>
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL"
type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.7.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
</DbProviderFactories>
</system.data>
<connectionStrings>
<clear/>
<add name="mysql" connectionString="Database='test';Data Source='localhost';Port='3306';User Id='root';Password='';pooling=true"
providerName="MySql.Data.MySqlClient"/>
</connectionStrings>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>
</configuration>
(4)基本操作的演示函数如下(所用数据库中含有一个名为table1的表。表中只有id和name两列):
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Practices.EnterpriseLibrary.Data;
using System.Data;
using System.Data.Common;
namespace EnterpriseLibrary
{
class SqlHelper
{
public static string Add(string id,string name)
{
try
{
//建立连接
Database db = DatabaseFactory.CreateDatabase("mysql");
//数据插入指令
DbCommand cmdAddOrder = db.GetSqlStringCommand(
@"insert into table1(id,name)values('" + id + "','" + name+"')");
db.ExecuteNonQuery(cmdAddOrder);
return "success";
}
catch (Exception ex)
{
//若操作时发生异常,则将异常信息写入到错误日志
//LogContext.WriteError(ex);
//Console.WriteLine("异常结果:{0}", ex);
return ex.ToString();
}
}
public static string Select(string id)
{
try
{
//创建一个连接
Database db = DatabaseFactory.CreateDatabase("mysql");
//创建一个插入command
DbCommand cmd = db.GetSqlStringCommand("select id,name from table1 where id='" + id + "'");
DataTable result = db.ExecuteDataSet(cmd).Tables[0];
if (result.Rows.Count > 0)
{
string str= result.Rows[0]["id"].ToString() +result.Rows[0]["name"].ToString();
return str;
}
else
{
return "query fail";
}
}
catch (Exception ex)
{
//若操作时发生异常,则将异常信息写入到错误日志
// LogContext.WriteError(ex);
return ex.ToString();
}
}
public static string Update(string id,string name)
{
try
{
//创建一个连接
Database db = DatabaseFactory.CreateDatabase("mysql");
//创建一个插入command
StringBuilder mysqlcommand = new StringBuilder();
//生成SQL---Start
mysqlcommand.Append("update table1 set name='").Append(name+"'");
mysqlcommand.Append(" where id='").Append("2'");
//生成SQL---End
DbCommand cmdUpdataOrderState = db.GetSqlStringCommand(mysqlcommand.ToString());
//执行SQL
db.ExecuteNonQuery(cmdUpdataOrderState);
return "Update Success";
}
catch (Exception ex)
{
//若操作时发生异常,则将异常信息写入到错误日志
// LogContext.WriteError(ex);
return ex.ToString();
};
}
}
}
结束!!!
2015.2.5
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/179813.html原文链接:https://javaforall.cn
相关文章
- MySQL PXC集群大事务提交超限
- MySQL数据库:掌握数据关系图(mysql数据关系图)
- 如何修改MySQL数据库中的触发器(修改mysql触发器)
- MySQL数据库备份:实现完美的工具体验(mysql备份数据库工具)
- 教学MySQL数据库:轻松学习视频指南(mysql数据库视频)
- 行安装MySQL: 从命令行开始(安装mysql命令)
- MySQL 查询大于当前时间的记录(mysql大于当前时间)
- MySQL核心编程:实现数据库最优性能(mysql核心编程)
- 学习如何在MySQL数据库中建立视图。(mysql数据库建立视图)
- MySQL条件排序:优化数据查询的关键(mysql条件排序)
- 如何使用MySQL删除一个数据库(mysql删除一个库)
- MySQL启动工具:轻松运行数据库(mysql启动工具)
- XML数据快速导入MySQL数据库(xml导入mysql)
- How to Find the Maximum Value in a MySQL Table: Tips and Tricks(mysql表最大值)
- MySQL删除数据库遭遇挫折!(mysql删除数据库失败)
- 轻松导出MySQL数据,快速备份数据库。(mysql快速导出数据库)
- MySQL中Long类型的详解(mysql中long类型)
- 如何进行MySQL两表条件查询操作(mysql两表条件查询)
- 以CMD窗口快捷进入MySQL数据库(cmd窗口进入mysql)
- 令人侧目的神奇Bat脚本快速开启MySQL(bat脚本打开mysql)
- ASP接入MySQL的操作指南(asp怎样连接mysql)
- MySQL Zone数据存储与管理的最佳选择(mysql zone)
- MySQL上线版本如何确保数据安全(mysql上线版本)
- MySQL数据库不能迁移的问题原因和解决方法(mysql不能迁移)
- MySQL数据库如何设置上传文件大小(mysql上传大小设置)
- 深入剖析MySQL数据库上下关系管理技巧(mysql上下关系)
- 无错误提示,MySQL启动失败应该如何处理(mysql不报错无法启动)