access操作类

最近做项目,写了一个类,用起来还挺方便的,拿出来分享一下,这个是用来操作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;
        }
    }
}

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值