zoukankan      html  css  js  c++  java
  • 自己改写的MySqlHelper的类库

            好像asp.net对SQLServer2000、ACCESS、以及Oracle数据库的支持相当不错。可惜这次公司要使用mysql数据库了。
            翻来找去找对mysql数据库访问的例子,好像都是使用什么ODBC的,总之配什么ODBC什么的在灵活开发里确实显得毕竟死板,只好找找看看有没有和微软的sqlhelper类库一样的访问类库。真是功夫不负有心人,找到几个。后来发现都是根据MySql官方的网站上进行修改。
            想到这里,我自己没事也来修改成和SqlHelper类似的使用方法的类库了。加了对MySqlTransaction的支持。反正也是瞎改的玩了。^_^

    下载地址:/Files/zsxfbj/mySql/src.rar

    一些用法也和SqlHelper基本一样:
    public void Insert( SiteInfo site )
      {
       MySqlParameter[] parms = getSqlParms( site );
                using ( MySqlConnection conn = new MySqlConnection( MySqlConnString.CONN_STRING_NON_DTC) )
       {
        conn.Open();
        using ( MySqlTransaction trans = conn.BeginTransaction() )
        {
         try
         {
          MySqlHelper.ExecuteNonQuery( trans, SQL_INSERT_SITE, parms );
          trans.Commit();
         }
         catch
         {
          trans.Rollback();
          throw;
         }
        }
       }
      }

    /// <summary>
            ///
            /// </summary>
            /// <param name="site"></param>
            /// <param name="siteId"></param>
            /// <returns></returns>
            private MySqlParameter[] getSqlParms( SiteInfo site )
            {
                MySqlParameter[] parms = null;   
                if( ParamsCache.GetCachedParameterSet( MySqlConnString.CONN_STRING_NON_DTC, "SqlParms_SiteInfo", out parms ) )
                {
                    MySqlHelper.AssignParameterValues( parms, site.SiteName, site.Description, site.Application, site.IsDisabled, Transform.Serialize( site.Settings ), site.Version, site.SortOrder );
                }
                else
                {
                    parms = new MySqlParameter[]
                    {
                        new MySqlParameter( PARM_SITENAME, MySqlDbType.VarChar, 64 ),
                        new MySqlParameter( PARM_DESCRIPTION, MySqlDbType.VarChar, 255 ),
                        new MySqlParameter( PARM_APPLICATION, MySqlDbType.VarChar, 255 ),
                        new MySqlParameter( PARM_ISDISABLED, MySqlDbType.Int32 ),
                        new MySqlParameter( PARM_SETTINGS, MySqlDbType.Blob ),
                        new MySqlParameter( PARM_VERSION, MySqlDbType.VarChar, 64 ),
                        new MySqlParameter( PARM_SORTORDER, MySqlDbType.Int32 )
                    };
                    parms[0].Value = site.SiteName;
                    parms[1].Value = site.Description;
                    parms[2].Value = site.Application;
                    parms[3].Value = site.IsDisabled;
                    parms[4].Value = Transform.Serialize( site.Settings );
                    parms[5].Value = site.Version;
                    parms[6].Value = site.SortOrder;
                    ParamsCache.CacheParameterSet( MySqlConnString.CONN_STRING_NON_DTC, "SqlParms_SiteInfo", parms );
                }
                return parms;        
              
            }
  • 相关阅读:
    13,发布CRM
    12,nginx+uWSGI+django+virtualenv+supervisor发布web服务器
    11.2,nginx负载均衡实验
    11.1,nginx集群概念
    11,nginx入门与实战
    10,python开发之virtualenv与virtualenvwrapper
    9.5web service基础知识
    9.4python开发之virtualenv与virtualenvwrapper
    9.3centos7安装python3 以及tab补全功能
    Google 浏览器被劫持怎么办?
  • 原文地址:https://www.cnblogs.com/zsxfbj/p/209407.html
Copyright © 2011-2022 走看看