access操作类

来源:互联网 发布:借贷宝是什么软件 编辑:程序博客网 时间:2024/05/04 06:36

最近做项目,写了一个类,用起来还挺方便的,拿出来分享一下,这个是用来操作access数据库类

using System;
using System.Collections.Generic;
using System.Web;
using System.Data;
using System.Data.OleDb;
using System.Configuration;

namespace OdbcHelpe
{
    /// <summary>
    /// 访问数据库
    /// </summary>
    public class OdbcHelper
    {
        protected string conStr;
        //给一个默认连接方式
        /// <summary>
        /// 默认的连接方式是连接到配置文件中connectionStrings下面的,name为connectionStr的连接字符串中
        /// </summary>
        public OdbcHelper()
        {
            this.conStr = ConfigurationManager.ConnectionStrings["connectionStr"].ConnectionString.ToString();
        }
        /// <summary>
        /// conStr为连接字符串
        /// </summary>
        /// <param name="conStr"></param>
        public OdbcHelper(string conStr)
        {
            this.conStr = conStr;
        }

        /// <summary>
        /// 创建数据库的连接实例
        /// </summary>
        /// <param name="conStr"></param>
        /// <returns></returns>
        public OleDbConnection ConOpen(string conStr)
        {
            OleDbConnection con;
            try
            {
                con = new OleDbConnection(conStr);
                return con;
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                return null;
            }
        }
        /// <summary>
        /// 关闭数据库连接
        /// </summary>
        /// <param name="con"></param>
        public void ConClose(OleDbConnection con)
        {
            con.Close();
        }
        /// <summary>
        /// 执行查询,并且返回dataset对象
        /// </summary>
        /// <param name="query"></param>
        /// <param name="con"></param>
        /// <returns></returns>
        public DataSet ExcuteQuery(string query)
        {
           
            DataSet data = new DataSet();
            using (OleDbConnection con = ConOpen(conStr))
            {
                using (OleDbCommand cmd = new OleDbCommand(query, con))
                {
                    con.Open();
                    //OleDbDataReader read=cmd.ExecuteReader();
                    //OdbcDataReader reader= cmd.ExecuteReader();
                    using (OleDbDataAdapter adapter = new OleDbDataAdapter(cmd))
                    {
                        try
                        {
                            adapter.Fill(data);
                        }
                        catch
                        {
                            return null;
                        }
                    }
                }
            }
            return data;
        }
        /// <summary>
        /// 执行查询,并且返回dataset对象
        /// </summary>
        /// <param name="query"></param>
        /// <param name="con"></param>
        /// <param name="parameter">查询字符串的参数数组</param>
        /// <returns></returns>
        public DataSet ExcuteQuery(string query, OleDbParameter []parameters)
        {
            DataSet data = new DataSet();
            using (OleDbConnection con = ConOpen(conStr))
            {
                using (OleDbCommand cmd = new OleDbCommand(query, con))
                {
                    con.Open();
                    //像查询语句添加参数
                    foreach (OleDbParameter parameter in parameters)
                    {
                        cmd.Parameters.Add(parameter);
                    }
                    //OdbcDataReader reader= cmd.ExecuteReader();
                    using (OleDbDataAdapter adapter = new OleDbDataAdapter(cmd))
                    {
                        try
                        {
                            adapter.Fill(data);
                        }
                        catch
                        {
                            return null;
                        }
                    }
                }
            }
            return data;
        }
       
        /// <summary>
        /// 执行一个操作,返回受影响的行数,当返回-1表示出现异常
        /// </summary>
        /// <param name="query"></param>
        /// <param name="con"></param>
        /// <returns></returns>
        public int ExcuteNoneQuery(string query)
        {
            int x =0;
            using (OleDbConnection con = ConOpen(conStr))
            {
                using (OleDbCommand cmd = con.CreateCommand())
                {
                    cmd.CommandText = query;
                    try
                    {
                        con.Open();
                        x = cmd.ExecuteNonQuery();
                    }
                    catch
                    {
                        return -1;
                    }
                }
            }
            return x;
           
        }

        /// <summary>
        /// 参数化无返回查询,返回值为影响行数,出现错误,返回-1
        /// </summary>
        /// <param name="query"></param>
        /// <param name="con"></param>
        /// <param name="parameters"></param>
        /// <returns></returns>
        public int ExcuteNoneQuery(string query, OleDbParameter[] parameters)
        {
            int data = 0;
            using (OleDbConnection con = ConOpen(conStr))
            {
                using (OleDbCommand cmd = new OleDbCommand(query, con))
                {
                    try
                    {
                        con.Open();
                        //像查询语句添加参数
                        foreach (OleDbParameter parameter in parameters)
                        {
                            cmd.Parameters.Add(parameter);
                        }
                        data = cmd.ExecuteNonQuery();
                    }
                    catch
                    {
                        return -1;
                    }
                }
            }
            return data;
        }
    }
}

原创粉丝点击