c# access oledb helper class
连接Access数据库
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System;
- using System.Data;
- using System.Configuration;
- using System.Web;
- using System.Data.OleDb;
- namespace TestAccessDB
- {
- public class DBHelper
- {
- protected static OleDbConnection conn = new OleDbConnection();
- protected static OleDbCommand comm = new OleDbCommand();
- public DBHelper()
- {
- }
- static string dbFile = AppDomain.CurrentDomain.BaseDirectory + "\\goods.mdb";
- private static void openConnection()
- {
- if (conn.State == ConnectionState.Closed)
- {
- // conn.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + AppDomain.CurrentDomain.BaseDirectory + dbFile + ";Jet OLEDB:Database PassWord=sa";
- // conn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ dbFile +";Persist Security Info=False;Jet OLEDB:Database Password=sa;";
- conn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbFile + ";Persist Security Info=False;";
- comm.Connection = conn;
- try
- {
- conn.Open();
- }
- catch (Exception e)
- { throw new Exception(e.Message); }
- }
- }
- private static void closeConnection()
- {
- if (conn.State == ConnectionState.Open)
- {
- conn.Close();
- conn.Dispose();
- comm.Dispose();
- }
- }
- /// <summary>
- /// 执行sql语句
- /// </summary>
- /// <param name="sqlstr"></param>
- public static int ExecuteNonQuery(string sqlstr)
- {
- int i = 0;
- try
- {
- openConnection();
- comm.CommandType = CommandType.Text;
- comm.CommandText = sqlstr;
- i= comm.ExecuteNonQuery();
- }
- catch (Exception e)
- {
- throw new Exception(e.Message);
- }
- finally
- {
- closeConnection();
- }
- return i;
- }
- /// <summary>
- /// 执行sql语句
- /// </summary>
- /// <param name="sqlstr"></param>
- public static object executeScalarSql(string sqlstr)
- {
- object o;
- try
- {
- openConnection();
- comm.CommandType = CommandType.Text;
- comm.CommandText = sqlstr;
- o= comm.ExecuteScalar();
- }
- catch (Exception e)
- {
- throw new Exception(e.Message);
- }
- finally
- {
- closeConnection();
- }
- return o;
- }
- public static int batchInsert(int count)
- {
- int cnt = 0;
- try
- {
- for (int i = 1; i <= count; i++)
- {
- string sqlstr = "insert into article(sourceID,[user],updateDate) values ('454545434','qwertteeeew_gfhfghgfh',#" + DateTime.Now + "#)";
- openConnection();
- comm.CommandType = CommandType.Text;
- comm.CommandText = sqlstr;
- cnt += comm.ExecuteNonQuery();
- }
- }
- catch (Exception e)
- {
- throw new Exception(e.Message);
- }
- finally
- {
- closeConnection();
- }
- return cnt;
- }
- /// <summary>
- /// 返回指定sql语句的OleDbDataReader对象,使用时请注意关闭这个对象。
- /// </summary>
- /// <param name="sqlstr"></param>
- /// <returns></returns>
- public static OleDbDataReader dataReader(string sqlstr)
- {
- OleDbDataReader dr = null;
- try
- {
- openConnection();
- comm.CommandText = sqlstr;
- comm.CommandType = CommandType.Text;
- dr = comm.ExecuteReader(CommandBehavior.CloseConnection);
- }
- catch
- {
- try
- {
- dr.Close();
- closeConnection();
- }
- catch { }
- }
- return dr;
- }
- /// <summary>
- /// 返回指定sql语句的OleDbDataReader对象,使用时请注意关闭
- /// </summary>
- /// <param name="sqlstr"></param>
- /// <param name="dr"></param>
- public static void dataReader(string sqlstr, ref OleDbDataReader dr)
- {
- try
- {
- openConnection();
- comm.CommandText = sqlstr;
- comm.CommandType = CommandType.Text;
- dr = comm.ExecuteReader(CommandBehavior.CloseConnection);
- }
- catch
- {
- try
- {
- if (dr != null && !dr.IsClosed)
- dr.Close();
- }
- catch
- {
- }
- finally
- {
- closeConnection();
- }
- }
- }
- /// <summary>
- /// 返回指定sql语句的dataset
- /// </summary>
- /// <param name="sqlstr"></param>
- /// <returns></returns>
- public static DataSet dataSet(string sqlstr)
- {
- DataSet ds = new DataSet();
- OleDbDataAdapter da = new OleDbDataAdapter();
- try
- {
- openConnection();
- comm.CommandType = CommandType.Text;
- comm.CommandText = sqlstr;
- da.SelectCommand = comm;
- da.Fill(ds);
- }
- catch (Exception e)
- {
- throw new Exception(e.Message);
- }
- finally
- {
- closeConnection();
- }
- return ds;
- }
- /// <summary>
- /// 返回指定sql语句的dataset
- /// </summary>
- /// <param name="sqlstr"></param>
- /// <param name="ds"></param>
- public static void dataSet(string sqlstr, ref DataSet ds)
- {
- OleDbDataAdapter da = new OleDbDataAdapter();
- try
- {
- openConnection();
- comm.CommandType = CommandType.Text;
- comm.CommandText = sqlstr;
- da.SelectCommand = comm;
- da.Fill(ds);
- }
- catch (Exception e)
- {
- throw new Exception(e.Message);
- }
- finally
- {
- closeConnection();
- }
- }
- /// <summary>
- /// 返回指定sql语句的datatable
- /// </summary>
- /// <param name="sqlstr"></param>
- /// <returns></returns>
- public static DataTable dataTable(string sqlstr)
- {
- DataTable dt = new DataTable();
- OleDbDataAdapter da = new OleDbDataAdapter();
- try
- {
- openConnection();
- comm.CommandType = CommandType.Text;
- comm.CommandText = sqlstr;
- da.SelectCommand = comm;
- da.Fill(dt);
- }
- catch (Exception e)
- {
- throw new Exception(e.Message);
- }
- finally
- {
- closeConnection();
- }
- return dt;
- }
- /// <summary>
- /// 返回指定sql语句的datatable
- /// </summary>
- /// <param name="sqlstr"></param>
- /// <param name="dt"></param>
- public static void dataTable(string sqlstr, ref DataTable dt)
- {
- OleDbDataAdapter da = new OleDbDataAdapter();
- try
- {
- openConnection();
- comm.CommandType = CommandType.Text;
- comm.CommandText = sqlstr;
- da.SelectCommand = comm;
- da.Fill(dt);
- }
- catch (Exception e)
- {
- throw new Exception(e.Message);
- }
- finally
- {
- closeConnection();
- }
- }
- /// <summary>
- /// 返回指定sql语句的dataview
- /// </summary>
- /// <param name="sqlstr"></param>
- /// <returns></returns>
- public static DataView dataView(string sqlstr)
- {
- OleDbDataAdapter da = new OleDbDataAdapter();
- DataView dv = new DataView();
- DataSet ds = new DataSet();
- try
- {
- openConnection();
- comm.CommandType = CommandType.Text;
- comm.CommandText = sqlstr;
- da.SelectCommand = comm;
- da.Fill(ds);
- dv = ds.Tables[0].DefaultView;
- }
- catch (Exception e)
- {
- throw new Exception(e.Message);
- }
- finally
- {
- closeConnection();
- }
- return dv;
- }
- }
- }
c# access oledb helper class的更多相关文章
- ODBC、OLEDB和ADO之间的关系 ,以及性能比较
学习了.net视频之后,对里面涉及到的数据库连接部分中的一些概念表示很无语.网上很多相关资料,但除了网站不一样外,基本上内容都神一样的一致. 现在,我就通过结合看到的一些资料再加上自己的理解试图去解释 ...
- Groovy 处理 XML
1. Parsing XML 1.1. XmlParser and XmlSlurper The most commonly used approach for parsing XML with Gr ...
- PDF.NET 开发框架之 SOD框架 Ver 5.2 正式版开源源码发布
PDF.NET 开发框架之 SOD框架 Ver 5.2.1.0307 正式版发布,包含以下部分: SOD_Pwmis.Core --包括下列数据提供程序 SqlServer SqlServerCe A ...
- Spring MVC 使用拦截器优雅地实现权限验证功能
在上一篇 SpringAOP 实现功能权限校验功能 中虽然用AOP通过抛异常,请求转发等勉强地实现了权限验证功能,但感觉不是那么完美,应该用拦截器来实现才是最佳的,因为拦截器就是用来拦截请求的,在请求 ...
- 客官,您的 Flask 全家桶请收好
http://www.factj.com/archives/543.html Flask-AppBuilder - Simple and rapid Application buil ...
- DevExpress XPO 开发指南 简要
最近在看devexpress 安装程序中的代码Demos .. C:\Users\Public\Documents\DevExpress Demos 16.1\Components\WinFor ...
- 一个很好用的SqlHelper类
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- XPO开发指南简要
一.XPO简介: XPO即eXpress Persistent Objects for .NET,现在这里介绍的版本是1.5. XPO在应用程序代码和数据库之间扮演了一个中间层的角色,简单而言,就是将 ...
- System.Data.OleDb操作access数据库类,【bubuko.com】
access数据库在应用了System.Data.OleDb后操作会很方便,这是一个常用的数据库操作类,其中两个方法,一个是返回datatable的,一个是执行sql语句返回影响记录的(一般是inse ...
随机推荐
- linux中文件权限格式与chmod命令以及用户和用户组的管理
简单了解一下linux中的文件权限格式与chmod命令 chmod命令:改变文件或者目录的权限 格式:chmod [参数] [<权限范围><符号><权限代码>] - ...
- [七月挑选]Tomcat使用命令行启动之指定jdk版本
title: Tomcat使用命令行启动之指定jdk版本 准备好环境,jdk和tomcat. 主要步骤 1.找到Tomcat/bin/catalina.bat文件. 2.在文件前端添加如下. set ...
- 安装sysbench,报错"Could not resolve 'ports.ubuntu.com'"
在ubuntu系统中安装sysbench时报错“Could not resolve 'ports.ubuntu.com'”怎么办呢? 安装时报错: 亲测可用的方法: 修改 resolv.conf 文件 ...
- 022-OpenStack 中虚拟机hostname问题
第一种: openstack中直接使用 hostnamectl 修改主机名,主机名在内核中的信息会被立即修改,但是当系统重启之后,主机名又重新变成原来的主机名称了.openstack主机名由cloud ...
- 02java基础——类和方法
1.类的定义 /* 定义类: 使用类的形式,对现实中的事物进行描述 事物: 属性,方法 属性: 变量 方法: 这个事物具备的功能 格式: public class 类名{ 属性定义 修饰符 数据类型 ...
- C++中vecotr表示二维数组并自己实现一个Grid类
1 C++中使用vector来表示二维数组 声明一个二维数组: vector<vector<int>> dp(row, vector<int>(col)); 将变量 ...
- vue-router解析,vue-router原理解析
前言:新一季面试季,重新整理一些知识点: 本文详细说明自己对vue-router原理的理解: 参考: 源码:vuejs/vue-router v2.2.1 - github 文档:vue-router ...
- git分支管理与tag的学习笔记
git分支管理学习笔记:创建dev分支:git branch dev查看分支:git branch切换分支:git checkout dev创建并切换分支:git checkout dev -b zh ...
- kettle中使用mysql的tinyint 类型到slqserver的tinyint类型
各个数据库之间的类型 定义还是有差别的 一下是我在工作中遇到的一个很奇葩的问题 mysql 中的 tinyint 类型 插入到sqlserver 的tinyint 类型 插入到 sqlserver的 ...
- 并行操作多个序列map
>>> def add1(a): return a + 1 >>> def add2(a,b): return a + b >>> def add ...