架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 20882|回复: 3

[资料] c#操作access数据库DBHelp类

[复制链接]
发表于 2015-9-23 09:41:24 | 显示全部楼层 |阅读模式
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Data.OleDb;
  6. using System.Data;

  7. namespace Model
  8. {
  9.     public class AccessDBHelper
  10.     {
  11.         /// <summary>
  12.         /// 操作结果消息
  13.         /// </summary>
  14.         public static string errorMessage = string.Empty;
  15.         public const string connStr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=.\aaa.mdb; Jet OLEDB:Database Password=111";
  16.         /// <summary>
  17.         /// 执行SQL语句.返回执行结果对象
  18.         /// 【Select:返回DataTable 】【Insert/Update/Delete:返回Int型受印象行数】【 CreateTable/DropTable:返回True||False】
  19.         /// </summary>
  20.         /// <param name="sqlStr">要执行的SQL语句</param>
  21.         /// <param name="connStr">数据库连接字符串</param>
  22.         /// <param name="opt">要执行的操作</param>
  23.         /// <returns>
  24.         /// 返回执行结果对象【Select:返回DataTable 】【Insert/Update/Delete:返回Int型受印象行数】【 CreateTable/DropTable:返回True||False】
  25.         /// </returns>
  26.         /// <Author> frd 2011-9-9</Author>
  27.         public static object ExecSql(string sqlStr, OperateType opt)
  28.         {
  29.             object returnObj = new object();
  30.             OleDbConnection odbConn = new OleDbConnection(connStr);
  31.             odbConn.Open();
  32.             switch (opt)
  33.             {
  34.                 case OperateType.Select:
  35.                     {
  36.                         DataTable selectResult = new DataTable();
  37.                         try
  38.                         {
  39.                             OleDbDataAdapter dataAdapter = new OleDbDataAdapter(sqlStr, connStr);
  40.                             DataSet dataSet = new DataSet();
  41.                             dataAdapter.Fill(dataSet, "Select");
  42.                             returnObj = dataSet.Tables[0];
  43.                         }
  44.                         catch (Exception ex)
  45.                         {
  46.                             returnObj = -1;
  47.                             errorMessage = "数据查询失败:" + ex.ToString();
  48.                         }
  49.                         finally
  50.                         {
  51.                             odbConn.Close();
  52.                         }
  53.                     }
  54.                     break;
  55.                 case OperateType.Insert:
  56.                 case OperateType.Update:
  57.                 case OperateType.Delete:
  58.                     {
  59.                         try
  60.                         {
  61.                             OleDbCommand odbc = new OleDbCommand(sqlStr, odbConn);
  62.                             returnObj = odbc.ExecuteNonQuery();
  63.                         }
  64.                         catch (Exception ex)
  65.                         {
  66.                             returnObj = -1;
  67.                             errorMessage = "数据操作失败:" + ex.ToString();
  68.                         }
  69.                         finally
  70.                         {
  71.                             odbConn.Close();
  72.                         }
  73.                     }
  74.                     break;
  75.                 case OperateType.CreateTable:
  76.                 case OperateType.DropTable:
  77.                     {
  78.                         try
  79.                         {
  80.                             OleDbCommand odbc = new OleDbCommand(sqlStr, odbConn);
  81.                             odbc.ExecuteNonQuery();
  82.                             returnObj = true;
  83.                         }
  84.                         catch (Exception ex)
  85.                         {
  86.                             returnObj = false;
  87.                             errorMessage = "数据操作失败:" + ex.ToString();
  88.                         }
  89.                         finally
  90.                         {
  91.                             odbConn.Close();
  92.                         }
  93.                     }
  94.                     break;
  95.                 default:
  96.                     { odbConn.Close(); }
  97.                     break;
  98.             }

  99.             return returnObj;
  100.         }

  101.         /// <summary>
  102.         /// 数据库操作类型
  103.         /// </summary>
  104.         public enum OperateType
  105.         {
  106.             /// <summary>
  107.             /// 查询记录
  108.             /// </summary>
  109.             Select,
  110.             /// <summary>
  111.             /// 插入记录
  112.             /// </summary>
  113.             Insert,
  114.             /// <summary>
  115.             /// 更新记录
  116.             /// </summary>
  117.             Update,
  118.             /// <summary>
  119.             /// 删除记录
  120.             /// </summary>
  121.             Delete,
  122.             /// <summary>
  123.             /// 创建表
  124.             /// </summary>
  125.             CreateTable,
  126.             /// <summary>
  127.             /// 删除表
  128.             /// </summary>
  129.             DropTable

  130.         }
  131.     }
  132. }
复制代码
未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序解决办法
http://www.itsvse.com/thread-2293-1-1.html
(出处: 武汉软件工程职业学院)
可能会报这个错误。





上一篇:未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序解决办法
下一篇:教你手动破解任意网吧收费,是任何收费!永不过时!
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2015-9-23 18:25:44 | 显示全部楼层
QQ截图20150923093851.jpg
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2016-2-26 18:27:10 | 显示全部楼层
1楼的方法   在并发的情况下容易挂掉,一会打开一会关闭的。不推荐,用一下我下面的方法吧!


码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2016-3-30 16:07:28 | 显示全部楼层
小渣渣 发表于 2016-2-26 18:27
1楼的方法   在并发的情况下容易挂掉,一会打开一会关闭的。不推荐,用一下我下面的方法吧!

Model.AccessDB db = new Model.AccessDB(@".\AlipayDB.mdb;Jet OLEDB:Database Password=123");
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2025-11-1 03:43

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表