Access DBUtility

by 清泉 18. 八月 2011 16:47
using System;    
using System.Text;    
using System.Collections;    
using System.Collections.Specialized;    
using System.Data;    
using System.Data.OleDb;    
using System.Configuration;    
   
   
   
namespace NMJU.Web.DBUtility    
{    /// <summary>    
    /// 数据访问抽象基础类(ACCESS)    
    /// Copyright (C) 2006-2007 NMJU.NET    
    /// All rights reserved    
    /// </summary>
        public abstract class DbHelperACE    
    {    
        //数据库连接字符串(web.config来配置)    
        //public static string connectionString = ConfigurationManager.AppSettings["ConnectionString"];    
        // public static string connectionString = 
	//System.Web.HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["AccessConnectionString"]);
            public static string connectionString = ConfigurationManager.AppSettings["AccessConnectionString"];    
        public DbHelperACE()    
        {    
        }   

        #region 公用方法    
   
        public static int GetMaxID(string FieldName, string TableName)    
        {    
            string strsql = "select max(" + FieldName + ")+1 from " + TableName;    
            object obj = DbHelperACE.GetSingle(strsql);    
            if (obj == null)    
            {    
                return 1;    
            }    
            else   
            {    
                return int.Parse(obj.ToString());    
            }    
        }    
        public static bool Exists(string strSql)    
        {    
            object obj = DbHelperACE.GetSingle(strSql);    
            int cmdresult;    
            if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))    
            {    
                cmdresult = 0;    
            }    
            else   
            {    
                cmdresult = int.Parse(obj.ToString());    
            }    
            if (cmdresult == 0)    
            {    
                return false;    
            }    
            else   
            {    
                return true;    
            }    
        }    
        public static bool Exists(string strSql, params OleDbParameter[] cmdParms)    
        {    
            object obj = DbHelperACE.GetSingle(strSql, cmdParms);    
            int cmdresult;    
            if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))    
            {    
                cmdresult = 0;    
            }    
            else   
            {    
                cmdresult = int.Parse(obj.ToString());    
            }    
            if (cmdresult == 0)    
            {    
                return false;    
            }    
            else   
            {    
                return true;    
            }    
        }   
        #endregion   

        #region 执行简单SQL语句    
   
        /// <summary>    
        /// 执行SQL语句,返回影响的记录数    
        /// </summary>    
        /// <param name="SQLString">SQL语句</param>    
        /// <returns>影响的记录数</returns>
            public static int ExecuteSql(string SQLString)    
        {    
            using (OleDbConnection connection = new OleDbConnection(connectionString))    
            {    
                using (OleDbCommand cmd = new OleDbCommand(SQLString, connection))    
                {    
                    try   
                    {    
                        connection.Open();    
                        int rows = cmd.ExecuteNonQuery();    
                        return rows;    
                    }    
                    catch (System.Data.OleDb.OleDbException E)    
                    {    
                        connection.Close();    
                        throw new Exception(E.Message);    
                    }    
                }    
            }    
        }    
   
        /// <summary>    
        /// 执行SQL语句,设置命令的执行等待时间    
        /// </summary>    
        /// <param name="SQLString"></param>    
        /// <param name="Times"></param>    
        /// <returns></returns>
            public static int ExecuteSqlByTime(string SQLString, int Times)    
        {    
            using (OleDbConnection connection = new OleDbConnection(connectionString))    
            {    
                using (OleDbCommand cmd = new OleDbCommand(SQLString, connection))    
                {    
                    try   
                    {    
                        connection.Open();    
                        cmd.CommandTimeout = Times;    
                        int rows = cmd.ExecuteNonQuery();    
                        return rows;    
                    }    
                    catch (System.Data.OleDb.OleDbException E)    
                    {    
                        connection.Close();    
                        throw new Exception(E.Message);    
                    }    
                }    
            }    
        }    
   
        /// <summary>    
        /// 执行多条SQL语句,实现数据库事务。    
        /// </summary>    
        /// <param name="SQLStringList">多条SQL语句</param>
                 public static void ExecuteSqlTran(ArrayList SQLStringList)    
        {    
            using (OleDbConnection conn = new OleDbConnection(connectionString))    
            {    
                conn.Open();    
                OleDbCommand cmd = new OleDbCommand();    
                cmd.Connection = conn;    
                OleDbTransaction tx = conn.BeginTransaction();    
                cmd.Transaction = tx;    
                try   
                {    
                    for (int n = 0; n < SQLStringList.Count; n++)    
                    {    
                        string strsql = SQLStringList[n].ToString();    
                        if (strsql.Trim().Length > 1)    
                        {    
                            cmd.CommandText = strsql;    
                            cmd.ExecuteNonQuery();    
                        }    
                    }    
                    tx.Commit();    
                }    
                catch (System.Data.OleDb.OleDbException E)    
                {    
                    tx.Rollback();    
                    throw new Exception(E.Message);    
                }    
            }    
        }    
   
        /// <summary>    
        /// 向数据库里插入图像格式的字段(和上面情况类似的另一种实例)    
        /// </summary>    
        /// <param name="strSQL">SQL语句</param>    
        /// <param name="fs">图像字节,数据库的字段类型为image的情况</param>    
        /// <returns>影响的记录数</returns>
            public static int ExecuteSqlInsertImg(string strSQL, byte[] fs)    
        {    
            using (OleDbConnection connection = new OleDbConnection(connectionString))    
            {    
                OleDbCommand cmd = new OleDbCommand(strSQL, connection);    
                System.Data.OleDb.OleDbParameter myParameter = new System.Data.OleDb.OleDbParameter("@fs", SqlDbType.Image);    
                myParameter.Value = fs;    
                cmd.Parameters.Add(myParameter);    
                try   
                {    
                    connection.Open();    
                    int rows = cmd.ExecuteNonQuery();    
                    return rows;    
                }    
                catch (System.Data.OleDb.OleDbException E)    
                {    
                    throw new Exception(E.Message);    
                }    
                finally   
                {    
                    cmd.Dispose();    
                    connection.Close();    
                }    
            }    
        }    
   
        /// <summary>    
        /// 执行一条计算查询结果语句,返回查询结果(object)。    
        /// </summary>    
        /// <param name="SQLString">计算查询结果语句</param>    
        /// <returns>查询结果(object)</returns>
            public static object GetSingle(string SQLString)    
        {    
            using (OleDbConnection connection = new OleDbConnection(connectionString))    
            {    
                using (OleDbCommand cmd = new OleDbCommand(SQLString, connection))    
                {    
                    try   
                    {    
                        connection.Open();    
                        object obj = cmd.ExecuteScalar();    
                        if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))    
                        {    
                            return null;    
                        }    
                        else   
                        {    
                            return obj;    
                        }    
                    }    
                    catch (System.Data.OleDb.OleDbException e)    
                    {    
                        connection.Close();    
                        throw new Exception(e.Message);    
                    }    
                }    
            }    
        }    
  

Tags:

DotNet技术资料

添加评论



(将显示你的Gravatar头像)  

biuquote
微笑得意调皮害羞酷大笑惊讶发呆喜欢可怜尴尬闭嘴噘嘴皱眉伤心抓狂呕吐坏笑漫骂发怒
Loading



Supidea.com 晨飞的梦 @ All Rights Reserved. Powered by BlogYi.NET ver:1.8.0.0. 苏ICP备09011404号

关于博主

kamau
抱着美好的理想背井离乡,这酸甜苦辣只能默默忍受。既然选择了路,就得风雨兼程……

Calendar

<<  二月 2012  >>
303112345
6789101112
13141516171819
20212223242526
2728291234
567891011

在日历中查看文章

最近的评论

Comment RSS

声明

      本博所发一切破解相关附件只作学习研究交流之用,严禁用于商业用途,请在下载24小时内删除。
      本博所有网友评论不代表本博立场,版权归其作者所有。

© Copyright 2009