C#利用微软企业库Enterprise Library操作mysql数据库

C#利用微软企业库Enterprise Library操作mysql数据库在C#项目中,很多时候到要用到EnterpriseLibrary。这里只是用一个很简单的小例子来演示一下EnterpriseLibrary在VS2010中操作mysql数据库的流程。1,利用EnterpriseLibrary操作mysql数据库。首先要具备一下天剑     (1)项目中要引用MySql.Data和MysroSoft.Practices.EnterpriseLibra

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

在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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/179813.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • HTML5期末大作业:旅游网页设计——西安旅游9页(代码质量好) 学生DW网页设计作业源码 web课程设计网页规划与设计

    HTML5期末大作业:旅游网页设计——西安旅游9页(代码质量好) 学生DW网页设计作业源码 web课程设计网页规划与设计HTML5期末大作业:网站——西安旅游9页(代码质量好)学生DW网页设计作业源码web课程设计网页规划与设计临近期末,你还在为HTML网页设计结课作业,老师的作业要求感到头大?HTML网页作业无从下手?网页要求的总数量太多?没有合适的模板?等等一系列问题。你想要解决的问题,在这篇博文中基本都能满足你的需求~原始HTML+CSS+JS页面设计,web大学生网页设计作业源码,这是一个不错的网页制作,画面精明,非常适合初学者学习使用。作品介绍1.网页作品简介方面:HTML期末大学生网页设计作业

  • CCAI 2017 | 中国工程院院士李德毅:L3的挑战与量产

    CCAI 2017 | 中国工程院院士李德毅:L3的挑战与量产

  • PKCS11接口解析「建议收藏」

    PKCS11接口解析「建议收藏」pkcs密码中间件位于上层应用和底层安全设备之间,应用基于PKCS#11标准接口开发各类应用程序。主要包括2个库主API库:提供给应用的PKCS11接口。 tokenDLL库:由主API库调用,完成从上向下到指定设备的套接。 安全密码设备:安全服务资源和实施的载体,完成具体安全功能支撑。表pkcs11函数接口 种类 函数 …

  • 实型变量_C语言实型常数的合法形式

    实型变量_C语言实型常数的合法形式实型变量分为两类:单精度型和双精度型,其类型说明符为float单精度说明符,double双精度说明符。在TurboC中单精度型占4个字节(32位)内存空间,其数值范围为3.4E-38~3.4E+38,只能提供七位有效数字。双精度型占8个字节(64位)内存空间,其数值范围为1.7E-308~1.7E+308,可提供16位有效数字。实型变量说明的格式和书写规则与整型相同。例如:f

    2022年10月21日
  • C# SortedList类概念和示例

    SortedList类[C#]命名空间:System.Collections表示键/值对的集合,这些键和值按键排序并可按照键和索引访问。SortedList是Hashtable和A

    2021年12月21日
  • 从零开始的大数据技术学习路线指南:带你轻松成为大数据开发工程师![通俗易懂]

    从零开始的大数据技术学习路线指南:带你轻松成为大数据开发工程师![通俗易懂]之前有不少小伙伴留言和私信我关于大数据学习路线,以及咨询我一些关于有工作经验想转行大数据的问题,只言片语也讲不清。我花了一个月整理了一份我当初学习的大数据学习路线,从最基础的大数据集群搭建开始,希望能帮助到大家。

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号