using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.OleDb;
using System.Configuration;
namespace OleDbHelper
{
public static class OleDbHelper
{
private static OleDbConnection connection;
/// <summary>
/// 获得一个唯一的CONNECTION 实例
/// </summary>
public static OleDbConnection Connection
{
get
{
string connectionstring = @"Provider=Microsoft.Jet.OLEDB.4.0;Data source=db.mdb;"; if (connection == null)
{
connection = new OleDbConnection(connectionstring);
connection.Open();
}
else if (connection.State == System.Data.ConnectionState.Closed)
{
connection.Open(); }
else if (connection.State == System.Data.ConnectionState.Broken)
{
connection.Close();
connection.Open();
}
return connection;
}
}
/// <summary>
/// 返回执行SQL 语句所影响数据的行数
/// </summary>
/// <param name="sql">sql 语句</param>
/// <returns>影响行数</returns>
public static int ExecuteCommand(string sql)
{
OleDbCommand com = new OleDbCommand(sql, Connection);
int result = com.ExecuteNonQuery();
return result;
}
/// <summary>
/// 获取结果集的第一行第一列
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public static int GetScalar(string sql)
{
OleDbCommand com = new OleDbCommand(sql, Connection);
int result = int.Parse(com.ExecuteScalar().ToString());
return result;
}
/// <summary>
/// 执行Sql语句,获取DataTable结果集
/// </summary>
/// <param name="sql">SQL语句</param>
/// <returns>DataTable</returns>
public static DataTable GetDataTable(string sql)
{
DataSet dataset = new DataSet();
OleDbCommand com = new OleDbCommand(sql, Connection);
OleDbDataAdapter da = new OleDbDataAdapter(com);
da.Fill(dataset);
return dataset.Tables[];
}
/// <summary>
/// 执行Sql语句,获取DataSet结果集
/// </summary>
/// <param name="sql">SQL语句</param>
/// <returns>DataSet</returns>
public static DataSet GetDataSet(string sql)
{
DataSet dataset = new DataSet();
OleDbCommand com = new OleDbCommand(sql, Connection);
OleDbDataAdapter da = new OleDbDataAdapter(com);
da.Fill(dataset);
return dataset;
}
/// <summary>
/// 获取OleDbDataReader结果集
/// </summary>
/// <param name="sql">SQL语句</param>
/// <returns>OleDbDataReader</returns>
public static OleDbDataReader GetReader(string sql)
{
OleDbCommand com = new OleDbCommand(sql, Connection);
OleDbDataReader reader = com.ExecuteReader();
return reader;
}
/// <summary>
/// 执行SQL语句
/// </summary>
/// <param name="SQLString">SQL语句</param>
/// <param name="cmdParms">参数</param>
/// <returns>影响行数</returns>
public static int ExecuteSql(string SQLString, params OleDbParameter[] cmdParms)
{
OleDbCommand com = new OleDbCommand(SQLString, Connection);
PrepareCommand(com, Connection, null, SQLString, cmdParms);
int rows = com.ExecuteNonQuery();
com.Parameters.Clear();
return rows;
}
/// <summary>
/// 获取DataSet结果集
/// </summary>
/// <param name="SQLString">SQL语句</param>
/// <param name="cmdParms">参数</param>
/// <returns>DataSet</returns>
public static DataSet GetDataSet(string SQLString, params OleDbParameter[] cmdParms)
{
OleDbCommand cmd = new OleDbCommand(SQLString, Connection);
PrepareCommand(cmd, Connection, null, SQLString, cmdParms);
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
DataSet ds = new DataSet();
try
{
if (connection.State == ConnectionState.Closed)
connection.Open();
da.Fill(ds, "ds");
cmd.Parameters.Clear();
}
catch
{ }
finally
{ }
return ds;
}
private static void PrepareCommand(OleDbCommand cmd, OleDbConnection conn, OleDbTransaction trans, string cmdText, OleDbParameter[] cmdParms)
{
cmd.CommandText = cmdText;
cmd.Connection = conn;
if (trans != null)
cmd.Transaction = trans;
cmd.CommandType = CommandType.Text;//cmdType;
if (cmdParms != null)
{
foreach (OleDbParameter parm in cmdParms)
cmd.Parameters.Add(parm);
}
}
}
}

OleDbHelper的更多相关文章

  1. C#---OleDbHelper

    /// <summary> /// OleDbServer数据访问帮助类 /// </summary> public sealed class OleDbHelper { pu ...

  2. [aspx]控件及代码小例

    1. 原生 asp 方式遍历 DataTable  2. aspx 的控件 Repeater 后台绑定 <%-- DataTable dt = OleDbHelper.GetTable(&quo ...

  3. C#处理Excel

    C#处理Excel C#处理Excel 前言 OleDb 具体操作 NPOI 具体操作 Excel C# NPOI OleDb 前言 最近需要对Excel进行加密解密操作,本身是一个简单的事情,通过 ...

  4. C# 操作数据库就的那点代码

    操作数据库的那点代码,别在费劲每个数据库都写一遍SQLHelper,SQLiteHelper,OleDbHelper,了,这里都有了. 接口不发了,自己抽取定义就行了. public abstract ...

  5. c# 轻量级 ORM 框架 之 DBHelper 实现 (三)

    周末了比较清闲,把自己的orm框架整理了下,开源了. 已经做出来的东西通常感觉有些简单,一些新手或许听到"框架"一类的词觉得有些"高深",简单来说orm就是把a ...

  6. wpf:DataGrid使用

    xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity" ...

  7. SqlHelper 帮助文档及详解--项目初步搭建

    微软SqlHelper类中文注释和使用方法 相关链接: http://blog.csdn.net/itmaxin/article/details/7609566 SqlHelper.cs是N年前微软出 ...

  8. asp.net读取Access数据库。

    注:数据库(表名 job  id 工作id ,job工作字段) 数据库放在app_data文件中.名称为database.mdb 如果用codesmith生成,选择的数据库连接类型如下图: 项目结构图 ...

  9. Asp.net 获取图片列表并打包下载

    先引用:ICSharpCode.SharpZipLib.dll 后台代码: using System.IO; using ICSharpCode.SharpZipLib.Zip; using ICSh ...

随机推荐

  1. 项目总结之MIT (一)

    打开Plan才知道,原来这个项目伴随了我整个八月,做项目的时间果然特别快~~ 首先把之前出现但是只知其然但是不知其所以然的知识点总结一下 一.使用母版页 二.Ajax 控件 & Custome ...

  2. css中bug记录

    1.margin塌陷,通俗叫法. 假如一个盒子box里边嵌套了两个盒子(记为box1,box2).box1的margin-top不会如预想的一样在box顶部撑开一个边距,而是以包含box的容器上边界为 ...

  3. linux重要的标准目录和文件

    linux重要的标准目录和文件 / 根目录,所有其他文件在根文件系统的子目录下 /bin 基本命令的二进制文件,存放linux下常用的命令和工具 /boot 引导加载器的固有文件,linux就是从这里 ...

  4. Android 启动Service服务和发送Broadcast广播的常用方法

    一.先说Service服务. 1.利用setAction()方法来指定启动的Service服务 Intent intent = new Intent(); intent.setAction(" ...

  5. Mac下获取AppStore安装包文件路径-取出安装包

    问题描述:我们通过AppStore下载软件的时候想要把安装包保存下来,但是AppStore安装好之后会自动删除安装包,而且安装路径也很难找到. 解决方案: 一.打开活动监视器 二.找storedown ...

  6. asp.net实现伪静态遇到的问题

    之前在一次项目(asp.net网站)中要用到伪静态技术,实现的思路大致是这样的: 在全局配置文件Global.asax(普通的类可以通过实现IHttpModule来完成)中的Application_B ...

  7. Android Assert工具类

    /* * Copyright (C) 2013 The Android Open Source Project * * Licensed under the Apache License, Versi ...

  8. 由PhysicalFileProvider构建的物理文件系统

    由PhysicalFileProvider构建的物理文件系统 ASP.NET Core应用中使用得最多的还是具体的物理文件,比如配置文件.View文件以及网页上的静态文件,物理文件系统的抽象通过Phy ...

  9. Sql Server专题二:数据库主要对象

    存储过程 (1)减少网络通信量.调用一个行数不多的存储过程与直接调用sql语句的网络通信量可能不会有很大的差别,可是如果存储过程包含上百行sql语句,那么其性能绝对比一条一条的调用sql语句要高得多. ...

  10. 关于C#的一点小知识 以后自己用

    项目过程中遇到C#代码的编写 上网查之后的结果 @html.ActionLink的几种参数格式 一 Html.ActionLink("linkText","actionN ...