Access 数据库操作 - 曾艺川

Echang 2021-11-28 原文


Access 数据库操作


using System;
using System.IO;
using System.Collections;
using System.Data;
using System.Data.OleDb;  
namespace Exam_Manage.DAL
…{
    /**//// <summary>
    /// 试题数据访问基础类
    /// </summary>
    public abstract class DbSQL
    …{
        public DbSQL()
        …{
        }
        protected static string connectionString=@”provider=microsoft.jet.oledb.4.0; ” + “Data Source= ” +Directory.GetCurrentDirectory() + @”mdbdb.mdb”;
       
        执行简单SQL语句#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=”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>
        /// 执行带一个存储过程参数的的SQL语句。
        /// </summary>
        /// <param name=”SQLString”>SQL语句</param>
        /// <param name=”content”>参数内容,比如一个字段是格式复杂的文章,有特殊符号,可以通过这个方式添加</param>
        /// <returns>影响的记录数</returns>
        public static int ExecuteSql(string SQLString,string content)
        …{               
            using (OleDbConnection connection = new OleDbConnection(connectionString))
            …{
                OleDbCommand cmd = new OleDbCommand(SQLString,connection);       
                System.Data.OleDb.OleDbParameter  myParameter = new System.Data.OleDb.OleDbParameter( “@content”,OleDbType.VarChar);
                myParameter.Value = content ;
                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);
                    }   
                }
            }
        }
        /**//// <summary>
        /// 执行查询语句,返回SqlDataReader
        /// </summary>
        /// <param name=”strSQL”>查询语句</param>
        /// <returns>SqlDataReader</returns>
        public static OleDbDataReader ExecuteReader(string strSQL)
        …{
            OleDbConnection connection = new OleDbConnection(connectionString);           
            OleDbCommand cmd = new OleDbCommand(strSQL,connection);               
            try
            …{
                connection.Open();   
                OleDbDataReader myReader = cmd.ExecuteReader();
                return myReader;
            }
            catch(System.Data.OleDb.OleDbException e)
            …{                               
                throw new Exception(e.Message);
            }           
           
        }       
        /**//// <summary>
        /// 执行查询语句,返回DataSet
        /// </summary>
        /// <param name=”SQLString”>查询语句</param>
        /// <returns>DataSet</returns>
        public static DataSet Query(string SQLString)
        …{
            using (OleDbConnection connection = new OleDbConnection(connectionString))
            …{
                DataSet ds = new DataSet();
                try
                …{
                    connection.Open();
                    OleDbDataAdapter command = new OleDbDataAdapter(SQLString,connection);               
                    command.Fill(ds,”ds”);
                }
                catch(System.Data.OleDb.OleDbException ex)
                …{               
                    throw new Exception(ex.Message);
                }           
                return ds;
            }           
        }

        #endregion

        执行带参数的SQL语句#region 执行带参数的SQL语句

        /**//// <summary>
        /// 执行SQL语句,返回影响的记录数
        /// </summary>
        /// <param name=”SQLString”>SQL语句</param>
        /// <returns>影响的记录数</returns>
        public static int ExecuteSql(string SQLString,params OleDbParameter[] cmdParms)
        …{
            using (OleDbConnection connection = new OleDbConnection(connectionString))
            …{               
                using (OleDbCommand cmd = new OleDbCommand())
                …{
                    try
                    …{       
                        PrepareCommand(cmd, connection, null,SQLString, cmdParms);
                        int rows=cmd.ExecuteNonQuery();
                        cmd.Parameters.Clear();
                        return rows;
                    }
                    catch(System.Data.OleDb.OleDbException E)
                    …{               
                        throw new Exception(E.Message);
                    }
                }               
            }
        }
                   
        /**//// <summary>
        /// 执行一条计算查询结果语句,返回查询结果(object)。
        /// </summary>
        /// <param name=”SQLString”>计算查询结果语句</param>
        /// <returns>查询结果(object)</returns>
        public static object GetSingle(string SQLString,params OleDbParameter[] cmdParms)
        …{
            using (OleDbConnection connection = new OleDbConnection(connectionString))
            …{
                using (OleDbCommand cmd = new OleDbCommand())
                …{
                    try
                    …{
                        PrepareCommand(cmd, connection, null,SQLString, cmdParms);
                        object obj = cmd.ExecuteScalar();
                        cmd.Parameters.Clear();
                        if((Object.Equals(obj,null))||(Object.Equals(obj,System.DBNull.Value)))
                        …{                   
                            return null;
                        }
                        else
                        …{
                            return obj;
                        }               
                    }
                    catch(System.Data.OleDb.OleDbException  e)
                    …{               
                        throw new Exception(e.Message);
                    }                   
                }
            }
        }
       
        /**//// <summary>
        /// 执行查询语句,返回SqlDataReader
        /// </summary>
        /// <param name=”strSQL”>查询语句</param>
        /// <returns>SqlDataReader</returns>
        public static OleDbDataReader ExecuteReader(string SQLString,params OleDbParameter[] cmdParms)
        …{       
            OleDbConnection connection = new OleDbConnection(connectionString);
            OleDbCommand cmd = new OleDbCommand();               
            try
            …{
                PrepareCommand(cmd, connection, null,SQLString, cmdParms);
                OleDbDataReader myReader = cmd.ExecuteReader();
                cmd.Parameters.Clear();
                return myReader;
            }
            catch(System.Data.OleDb.OleDbException e)
            …{                               
                throw new Exception(e.Message);
            }                   
           
        }       
       
        /**//// <summary>
        /// 执行查询语句,返回DataSet
        /// </summary>
        /// <param name=”SQLString”>查询语句</param>
        /// <returns>DataSet</returns>
        public static DataSet Query(string SQLString,params OleDbParameter[] cmdParms)
        …{
            using (OleDbConnection connection = new OleDbConnection(connectionString))
            …{
                OleDbCommand cmd = new OleDbCommand();
                PrepareCommand(cmd, connection, null,SQLString, cmdParms);
                using( OleDbDataAdapter da = new OleDbDataAdapter(cmd) )
                …{
                    DataSet ds = new DataSet();   
                    try
                    …{                                               
                        da.Fill(ds,”ds”);
                        cmd.Parameters.Clear();
                    }
                    catch(System.Data.OleDb.OleDbException ex)
                    …{               
                        throw new Exception(ex.Message);
                    }           
                    return ds;
                }               
            }           
        }

        private static void PrepareCommand(OleDbCommand cmd,OleDbConnection conn,OleDbTransaction trans, string cmdText, OleDbParameter[] cmdParms)
        …{
            if (conn.State != ConnectionState.Open)
                conn.Open();
            cmd.Connection = conn;
            cmd.CommandText = cmdText;
            if (trans != null)
                cmd.Transaction = trans;
            cmd.CommandType = CommandType.Text;//cmdType;
            if (cmdParms != null)
            …{
                foreach (OleDbParameter parm in cmdParms)
                    cmd.Parameters.Add(parm);
            }
        }

        #endregion   

    }

    }

发表于
2008-03-29 10:51 
曾艺川 
阅读(329
评论(0
编辑 
收藏 
举报

 

版权声明:本文为Echang原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/Echang/articles/1128574.html

Access 数据库操作 - 曾艺川的更多相关文章

  1. [MySQL] 解决Error 1698: Access denied for user \’root\’@\’localhost\’

    当程序中使用root账号连接mysql时报以下错误,但是使用命令行是可以正常连接的,那么就查询下mysql数据 […]...

  2. MySQL密码正确却无法本地登录,ERROR 1045 (28000): Access denied for user \’root\’@\’localhost\’ (using password: YES)

    MySQL密码正确却无法本地登录 报错如下: ERROR 1045 (28000): Access denie […]...

  3. Access denied for user \’xxx\’@\’localhost\’ 问题的解决方法

    使用SpringMvc + Mybatis + Mysql搭建的架构,调试时出现了以下错误: HTTP Sta […]...

  4. ERROR 1044 (42000): Access denied for user \’\’@\’localhost\’ to database \’mysql\’

        本文章已收录于:   .embody { padding: 10px; margin: 0 -20px […]...

  5. 在 Excel 和 Access 之间交换(复制、导入和导出)数据

    适用于: Microsoft Office Excel 2007 存在多种在 Microsoft Office […]...

  6. git clone 时出现fatal:unable to access 如下情况报错及解决办法

    克隆公司的项目直接是git clone +远程项目地址,一般是没问题的,但是最近发现想要再克隆一份时报错,之前 […]...

  7. 挂载nfs提示:mount.nfs: access denied by server while mounting…

    出现此类错误原因大致为: 权限问题 防火墙机制问题 共享配置文件问题 搭建好nfs服务后,在client端进行 […]...

  8. 解决Mysql ERROR 1045 (28000): Access denied for user \’root\’@\’localhost\’问题

      ERROR 1045 (28000): Access denied for user \’ro […]...

随机推荐

  1. C# Dispose模式详细分析

    C#Dispose模式   目的:     为了及时释放宝贵的非托管资源和托管资源,并且保证资源在被gc回收的 […]...

  2. CentOS下安装yum

    在Linux里面依次输入下面的命令: 1,下载最新的yum-3.2.28.tar.gz并解压 wget htt […]...

  3. 第一次作业人工智能

    1、   你认为什么是人工智能?      答:人工智能是对人的意识、思维的信息过程的模拟。人工智能不是人的智 […]...

  4. svn状态与常见错误 – 可可西

    svn状态与常见错误 TortoiseSVN 1.6.16是最后一个目录独立管理自身cache的svn版本(每 […]...

  5. java线程状态 以及 sheep()、wait()、yield() 区别

      前言 最近看到很多人都在讨论多线程的问题,于是写出了这篇博客,希望可以帮到正在学习和使用这块的朋友们,首先 […]...

  6. LuNamp和LuManager的目录结构

    /|—- etc/|——– my.cnf #mysql配置文件 […]...

  7. EasyX图形库,绘制透明和旋转图片的方法(效率很高) – 中華大帝

    EasyX图形库,绘制透明和旋转图片的方法(效率很高) #ifndef EX_EASYX_H #define […]...

  8. css透明度的设置 (兼容所有浏览器)

    css透明度的设置 (兼容所有浏览器) 一句话搞定透明背景!   .transparent_class {   […]...

展开目录

目录导航