首页 > 数据库 >常用的Access数据库Sql操作辅助类库

常用的Access数据库Sql操作辅助类库

时间:2023-07-25 12:15:27浏览次数:37  
标签:类库 string sql Access connection command Sql new

 /// <summary>
    /// 常用的Access数据库Sql操作辅助类库
    /// </summary>
    public class OleDbHelper
    {
        private string connectionString = "";
        private const string accessPrefix = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};User ID=Admin;Jet OLEDB:Database Password=;";

        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="accessFilePath"></param>
        public OleDbHelper(string accessFilePath)
        {
            connectionString = string.Format(accessPrefix, accessFilePath);
        }

        /// <summary>
        /// 测试数据库是否正常连接
        /// </summary>
        /// <returns></returns>
        public bool TestConnection()
        {
            bool result = false;

            using (DbConnection connection = new OleDbConnection(connectionString))
            {
                connection.Open();
                if (connection.State == System.Data.ConnectionState.Open)
                {
                    result = true;
                }
            }

            return result;
        }

        /// <summary>
        /// 执行Sql,并返回成功的数量
        /// </summary>
        /// <param name="sqlList">待执行的Sql列表</param>
        /// <returns></returns>
        public int ExecuteNonQuery(List<string> sqlList)
        {
            int count = 0;
            using (OleDbConnection connection = new OleDbConnection(connectionString))
            {
                connection.Open();
                OleDbCommand command = new OleDbCommand();
                command.Connection = connection;

                foreach (string sql in sqlList)
                {
                    command.CommandText = sql;
                    command.CommandType = CommandType.Text;

                    try
                    {
                        if (command.ExecuteNonQuery() > 0)
                        {
                            count++;
                        }
                    }
                    catch (Exception ex)
                    {
                        continue;
                    }
                }
            }

            return count;
        }

        /// <summary>
        /// 执行无返回值的语句,成功返回True,否则False
        /// </summary>
        /// <param name="sql">待执行的Sql</param>
        /// <returns></returns>
        public bool ExecuteNoQuery(string sql)
        {
            bool result = false;
            using (OleDbConnection connection = new OleDbConnection(connectionString))
            {
                connection.Open();
                OleDbCommand command = new OleDbCommand();
                command.Connection = connection;
                command.CommandText = sql;
                command.CommandType = CommandType.Text;

                if (command.ExecuteNonQuery() > 0)
                {
                    result = true;
                }
            }
            return result;
        }

        /// <summary>
        /// 执行单返回值的语句
        /// </summary>
        /// <param name="sql">待执行的Sql</param>
        /// <returns></returns>
        public object ExecuteScalar(string sql)
        {
            object result = null;
            using (OleDbConnection connection = new OleDbConnection(connectionString))
            {
                connection.Open();
                OleDbCommand command = new OleDbCommand();
                command.Connection = connection;
                command.CommandText = sql;
                command.CommandType = CommandType.Text;
                result = command.ExecuteScalar();
            }
            return result;
        }

        /// <summary>
        /// 执行Sql,并返回IDataReader对象。
        /// </summary>
        /// <param name="sql">待执行的Sql</param>
        /// <returns></returns>
        public IDataReader ExecuteReader(string sql)
        {
            IDataReader reader = null;
            using (OleDbConnection connection = new OleDbConnection(connectionString))
            {
                connection.Open();
                OleDbCommand command = new OleDbCommand();
                command.Connection = connection;
                command.CommandText = sql;
                command.CommandType = CommandType.Text;

                reader = command.ExecuteReader(CommandBehavior.CloseConnection);
            }

            return reader;
        }

        /// <summary>
        /// 执行Sql并返回DataSet集合
        /// </summary>
        /// <param name="sql">待执行的Sql</param>
        /// <returns></returns>
        public DataSet ExecuteDataSet(string sql)
        {
            DataSet ds = new DataSet();
            OleDbDataAdapter adapter = new OleDbDataAdapter(sql, connectionString);
            adapter.Fill(ds);
            return ds;
        }

    }

 

标签:类库,string,sql,Access,connection,command,Sql,new
From: https://www.cnblogs.com/liao-long/p/17579532.html

相关文章

  • OSql命令操作函数(可用于安装程序的时候数据库脚本执行)
    ///<summary>///OSql命令操作函数(可用于安装程序的时候数据库脚本执行)///</summary>publicclassSqlScriptHelper{#regionOSql操作函数///<summary>///本地执行SQL脚本///</summary>///<paramname=......
  • Centos8/linux下载、安装、配置、连接MySQL5.7(rpm方式)
    目录问题现象:问题分析:解决方法:下载:安装:配置:连接:拓展 问题现象:    今天在使用Centos8安装MySQL5.7的rpm包时,出现如下报错:        仓库"MySQL5.7CommunityServer"的GPG公钥已安装,但是不适用于此软件包。        最终问题解决了,但......
  • SQL 语句获取数据库各表分配空间、占用空间、记录行数
    SELECT    t.NAME AS TableName,    s.Name AS SchemaName,    p.rows AS RowCounts,    SUM(a.total_pages)*8 AS TotalSpaceKB,    CAST(ROUND(((SUM(a.total_pages)*8)/1024.00),2) AS NUMERIC(36,2)) AS TotalSpaceMB,    SUM(a.......
  • SP_CreateModel,sql server 自动生成表的实体类的通用存储过程
    --调用该sp,执行语句即可--EXECdbo.SP_CreateModel't_Buss_LargeScreenTotalInfoByMonth' SETQUOTED_IDENTIFIERONSETANSI_NULLSONGOALTERPROCEDURESP_CreateModel( @TableNamesysname)ASBEGIN --declare@TableNamesysname='T1' declare@Result......
  • es和mysql的查询语句对比
    ES(Elasticsearch)和MySQL是两种常用的数据库查询工具,它们在查询语句的使用和对应关系上有一些区别。本文将对比ES和MySQL的查询语句,并详细介绍它们的对应关系。首先,我们来看一下ES的查询语句。ES是一种分布式搜索和分析引擎,它使用JSON格式的查询语句来进行数据检索。ES的查询语句可......
  • 深入理解Mysql索引
    在数据库中,最常用的SQL操作之一就是SELECT语句,它负责数据的检索。而在SELECT语句背后,与索引的交互密不可分。为了优化数据库性能和加快查询速度,开发者们往往优先考虑调整索引。让我们深入了解索引的背后故事。这篇文章将从什么是索引,索引的分类,索引的底层数据数据结构,跟大家一起......
  • sqlserver insert 限制字符串的长度 小于 表字段定义的长度
    sqlserverinsert时,字符串长度超出表字段限定的长度,报错写一个限定字符串长度的函数createfunctionGetLimitStr(@strvarchar(8000),@lenint)returnsvarchar(8000)asbeginifdatalength(@str)<=@lenreturn@strdeclare@cvarchar(2)declare@......
  • 携程海外MySQL如何实现毫秒级数据复制?
    一、前言 在携程国际化战略背景下,海外业务将成为新的发力点,为了保证用户高品质的服务体验,底层数据势必需要就近服务业务应用。一套标准且普适的数据复制解决方案能够提升业务决策效率,助力业务更快地触达目标用户。 DRC(DataReplicateCenter)作为携程内部数......
  • PostgreSQL体系结构--物理结构
    物理结构对应在操作系统中组成的数据库目录和相关文件来构成一、基础目录$PGDATA:baseglobalpg_commit_tspg_walpg_tblspc:alternativedatabasefiles二、目录布局base --存放默认数据库的目录global --存放的数据库相关的字典视图或者表文件 pg_commit_ts --事......
  • Mysql占用CPU过高如何优化
    MySQL处在高负载环境下,磁盘IO读写过多,肯定会占用很多资源,必然CP会U占用过高。占用CPU过高,可以做如下考虑:1.打开慢查询日志,查询是否是某个SQL语句占用过多资源,如果是的话,可以对SQL语句进行优化,比如优化insert语句、优化groupby语句、优化orderby语句、优化join语句等等;2......