自己改写的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;        
          
        }

posted on 2005-08-07 16:41  雾里寻踪  阅读(3212)  评论(3编辑  收藏  举报