C#的Access_Helper_类似sqlhelper

来源:互联网 发布:linux vi search 编辑:程序博客网 时间:2024/05/16 14:54
using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.OleDb;/// <summary>/// AccessHelper 的摘要说明/// </summary>public class AccessHelper{    protected static OleDbConnection conn = new OleDbConnection();    protected static OleDbCommand comm = new OleDbCommand();    public AccessHelper()    {        //        // TODO: 在此处添加构造函数逻辑        //    }    /// <summary>    /// 打开数据库    /// </summary>    private static void openConnection()    {        if (conn.State == ConnectionState.Closed)        {            conn.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + AppDomain.CurrentDomain.BaseDirectory+ConfigurationManager.AppSettings["myconn"].ToString() + ";Jet OLEDB:Database PassWord=sa";                        comm.Connection = conn;            try            {                conn.Open();            }            catch (Exception e)            { throw new Exception(e.Message); }        }    }    /// <summary>    /// 关闭数据库    /// </summary>    private static void closeConnection()    {        if (conn.State == ConnectionState.Open)        {            conn.Close();            conn.Dispose();            comm.Dispose();        }    }    /// <summary>    /// 执行sql语句    /// </summary>    /// <param name="sqlstr"></param>    public static void excuteSql(string sqlstr)    {        try        {            openConnection();            comm.CommandType = CommandType.Text;            comm.CommandText = sqlstr;            comm.ExecuteNonQuery();        }        catch (Exception e)        {            throw new Exception(e.Message);        }        finally        { closeConnection(); }    }    /// <summary>    /// 返回指定sql语句的OleDbDataReader对象,使用时请注意关闭这个对象。    /// </summary>    /// <param name="sqlstr"></param>    /// <returns></returns>    public static OleDbDataReader dataReader(string sqlstr)    {        OleDbDataReader dr = null;        try        {            openConnection();            comm.CommandText = sqlstr;            comm.CommandType = CommandType.Text;            dr = comm.ExecuteReader(CommandBehavior.CloseConnection);        }        catch        {            try            {                dr.Close();                closeConnection();            }            catch { }        }        return dr;    }    /// <summary>    /// 返回指定sql语句的OleDbDataReader对象,使用时请注意关闭    /// </summary>    /// <param name="sqlstr"></param>    /// <param name="dr"></param>    public static void dataReader(string sqlstr, ref OleDbDataReader dr)    {        try        {            openConnection();            comm.CommandText = sqlstr;            comm.CommandType = CommandType.Text;            dr = comm.ExecuteReader(CommandBehavior.CloseConnection);        }        catch        {            try            {                if (dr != null && !dr.IsClosed)                    dr.Close();            }            catch            {            }            finally            {                closeConnection();            }        }    }    /// <summary>    /// 返回指定sql语句的dataset    /// </summary>    /// <param name="sqlstr"></param>    /// <returns></returns>    public static DataSet dataSet(string sqlstr)    {        DataSet ds = new DataSet();        OleDbDataAdapter da = new OleDbDataAdapter();        try        {            openConnection();            comm.CommandType = CommandType.Text;            comm.CommandText = sqlstr;            da.SelectCommand = comm;            da.Fill(ds);        }        catch (Exception e)        {            throw new Exception(e.Message);        }        finally        {            closeConnection();        }        return ds;    }    /// <summary>    /// 返回指定sql语句的dataset    /// </summary>    /// <param name="sqlstr"></param>    /// <param name="ds"></param>    public static void dataSet(string sqlstr, ref DataSet ds)    {        OleDbDataAdapter da = new OleDbDataAdapter();        try        {            openConnection();            comm.CommandType = CommandType.Text;            comm.CommandText = sqlstr;            da.SelectCommand = comm;            da.Fill(ds);        }        catch (Exception e)        {            throw new Exception(e.Message);        }        finally        {            closeConnection();        }    }    /// <summary>    /// 返回指定sql语句的datatable    /// </summary>    /// <param name="sqlstr"></param>    /// <returns></returns>    public static DataTable dataTable(string sqlstr)    {        DataTable dt = new DataTable();        OleDbDataAdapter da = new OleDbDataAdapter();        try        {            openConnection();            comm.CommandType = CommandType.Text;            comm.CommandText = sqlstr;            da.SelectCommand = comm;            da.Fill(dt);        }        catch (Exception e)        {            throw new Exception(e.Message);        }        finally        {            closeConnection();        }        return dt;    }    /// <summary>    /// 返回指定sql语句的datatable    /// </summary>    /// <param name="sqlstr"></param>    /// <param name="dt"></param>    public static void dataTable(string sqlstr, ref DataTable dt)    {        OleDbDataAdapter da = new OleDbDataAdapter();        try        {            openConnection();            comm.CommandType = CommandType.Text;            comm.CommandText = sqlstr;            da.SelectCommand = comm;            da.Fill(dt);        }        catch (Exception e)        {            throw new Exception(e.Message);        }        finally        {            closeConnection();        }    }    /// <summary>    /// 返回指定sql语句的dataview    /// </summary>    /// <param name="sqlstr"></param>    /// <returns></returns>    public static DataView dataView(string sqlstr)    {        OleDbDataAdapter da = new OleDbDataAdapter();        DataView dv = new DataView();        DataSet ds = new DataSet();        try        {            openConnection();            comm.CommandType = CommandType.Text;            comm.CommandText = sqlstr;            da.SelectCommand = comm;            da.Fill(ds);            dv = ds.Tables[0].DefaultView;        }        catch (Exception e)        {            throw new Exception(e.Message);        }        finally        {            closeConnection();        }        return dv;    }}

web.config配置

<configuration>    <appSettings>        <add key="myconn" value="数据库文件相对路径" />    </appSettings></configuration>

0 0
原创粉丝点击