• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > C#实现的ACCESS数据库操作类完整实例

C#实现的ACCESS数据库操作类完整实例

作者:roucheng 字体:[增加 减小] 来源:互联网 时间:2017-05-28

roucheng 通过本文主要向大家介绍了马桶c的个人空间,欲情 c max,维生素c,奔驰c200,85度c等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例讲述了C#实现的ACCESS数据库操作类。分享给大家供大家参考,具体如下:

这个是针对ACCESS数据库操作的类,同样也是从SQLHELPER提取而来,分页程序的调用可以参考MSSQL那个类的调用,差不多的,只是提取所有记录的数量的时候有多一个参数,这个需要注意一下!

using System;
using System.Text;
using System.Collections;
using System.Collections.Specialized;
using System.Data;
using System.Data.OleDb;
using System.Configuration;
namespace HoverTree.Web.DBUtility
{  /// <summary>
  /// 数据访问抽象基础类(ACCESS)
  /// Copyright (C) 2006-2007 hovertree.net
  /// All rights reserved
  /// </summary>
  public abstract class DbHelperACE
  {
    //数据库连接字符串(web.config来配置)
    //public static string connectionString = ConfigurationManager.AppSettings["ConnectionString"];
    // public static string connectionString = System.Web.HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["AccessConnectionString"]);
    public static string connectionString = ConfigurationManager.AppSettings["AccessConnectionString"];
    public DbHelperACE()
    {
    }
    #region 公用方法
    public static int GetMaxID(string FieldName, string TableName)
    {
      string strsql = "select max(" + FieldName + ")+1 from " + TableName;
      object obj = DbHelperACE.GetSingle(strsql);
      if (obj == null)
      {
        return 1;
      }
      else
      {
        return int.Parse(obj.ToString());
      }
    }
    public static bool Exists(string strSql)
    {
      object obj = DbHelperACE.GetSingle(strSql);
      int cmdresult;
      if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
      {
        cmdresult = 0;
      }
      else
      {
        cmdresult = int.Parse(obj.ToString());
      }
      if (cmdresult == 0)
      {
        return false;
      }
      else
      {
        return true;
      }
    }
    public static bool Exists(string strSql, params OleDbParameter[] cmdParms)
    {
      object obj = DbHelperACE.GetSingle(strSql, cmdParms);
      int cmdresult;
      if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
      {
        cmdresult = 0;
      }
      else
      {
        cmdresult = int.Parse(obj.ToString());
      }
      if (cmdresult == 0)
      {
        return false;
      }
      else
      {
        return true;
      }
    }
    #endregion
    #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="SQLString"></param>
    /// <param name="Times"></param>
    /// <returns></returns>
    public static int ExecuteSqlByTime(string SQLString, int Times)
    {
      using (OleDbConnection connection = new OleDbConnection(connectionString))
      {
        using (OleDbCommand cmd = new OleDbCommand(SQLString, connection))
        {
          try
          {
            connection.Open();
            cmd.CommandTimeout = Times;
            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>
    /// 向数据库里插入图像格式的字段(和上面情况类似的另一种实例)
    /// </summary>
    /// <param name="strSQL">SQL语句</param>
    /// <param name="fs">图像字节,数据库的字段类型为image的情况</param>
    /// <returns>影响的记录数</returns>
    public static int ExecuteSqlInsertImg(string strSQL, byte[] fs)
    {
      using (OleDbConnection connection = new OleDbConnection(connectionString))
      {
        OleDbCommand cmd = new OleDbCommand(strSQL, connection);
        System.Data.OleDb.OleDbParameter myParameter = new System.Data.OleDb.OleDbParameter("@fs", SqlDbType.Image);
        myParameter.Value = fs;
        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(使用该方法切记要手工关闭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 Except



 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C#利用ReportViewer生成报表
  • C#基于正则去掉注释的方法示例
  • C#中new的用法及与override的区别分析
  • C#实现两个richtextbox控件滚动条同步滚动的简单方法
  • C# for循环的经典案例集锦
  • C#操作word的方法示例
  • C#使用WebClient登录网站并抓取登录后的网页信息实现方法
  • C# WinForm制作异形窗体与控件的方法
  • C#实现Excel表数据导入Sql Server数据库中的方法
  • C#使用NPOI上传excel

相关文章

  • 2017-05-28C#判断指定驱动器是否已经准备就绪的方法
  • 2017-05-28Microsoft Expression Web 简体中文正式版 官方下载地址
  • 2017-05-28C#递归实现显示文件夹及所有文件并计算其大小的方法
  • 2017-05-28C#修改IIS站点framework版本号的方法
  • 2017-05-28C#实现图片放大功能的按照像素放大图像方法
  • 2017-05-28SuperSocket入门--Telnet服务器和客户端请求处理
  • 2017-05-28C#实现Excel导入sqlite的方法
  • 2017-05-28.NET实现父窗体关闭而不影响子窗体的方法
  • 2017-05-28winform c#中子窗体关闭刷新父窗体的实例
  • 2017-05-28C#实现流程图设计器

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • c#多种加解密示例(md5加密解密)
    • C#实现主窗体最小化后出现悬浮框及双击悬浮框恢复原窗体的方法
    • C#(.net)水印图片的生成完整实例
    • wpf将表中数据显示到datagrid示例
    • 带着问题读CLR via C#(笔记一)CLR的执行模型
    • 解析C#多线程编程中异步多线程的实现及线程池的使用
    • C# 6.0的属性(Property)的语法与初始值详解
    • C#软件注册码的实现代码
    • C#.NET字符串比较中忽略符号的方法
    • WPF MVVM示例讲解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有