/*
* By :落落
* URL: Www.MyLuoLuo.Com
*/
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.OleDb; namespace DBHelp
{
/// <summary>
/// Access Help
/// </summary>
public class Access
{
#region 小功能
/// <summary>
/// 数据库访问
/// </summary>
OleDbConnection conn;
string conString;
public OleDbConnection con
{
get {
if (conn == null)
{
conn = new OleDbConnection(conString);
}
if (conn.State == ConnectionState.Closed)
{
conn.Open(); }
return conn;
}
} /// <summary>
/// 数据库连接字符串
/// </summary>
/// <param name="conString"></param>
public Access(string conString)
{
try
{
conn = new OleDbConnection(conString);
this.conString = conString;
conn.Open();
}
catch (Exception)
{
throw;
}
} /// <summary>
/// 数据库连接字符串
/// </summary>
/// <param name="conString"></param>
public Access()
{
try
{
//Provider=Microsoft.Jet.OLEDB.4.0;Data Source=data.love
this.conString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=data.love";
conn = new OleDbConnection(this.conString);
conn.Open();
}
catch (Exception)
{
throw;
}
} /// <summary>
/// 填充
/// </summary>
/// <param name="com"></param>
/// <param name="array"></param>
void SetParametersArray(ref OleDbCommand com, ParametersArray array)
{
foreach (OleDbParameter item in array.GetArray())
{
com.Parameters.Add(item);
}
}
#endregion
#region 执行SQL语句并返回受影响的行数
/// <summary>
/// 执行SQL语句并返回受影响的行数
/// </summary>
/// <returns></returns>
public int ExecuteNonQuery(string sql)
{
try
{
using (OleDbCommand com = new OleDbCommand(sql, con))
{
return com.ExecuteNonQuery();
}
}
catch (Exception)
{
throw;
}
} /// <summary>
/// 执行SQL语句并返回受影响的行数
/// </summary>
public int ExecuteNonQuery(string sql, OleDbParameter par)
{
try
{
using (OleDbCommand com = new OleDbCommand(sql, con))
{
com.Parameters.Add(par);
return com.ExecuteNonQuery();
}
}
catch (Exception)
{
throw;
}
} /// <summary>
/// 执行SQL语句并返回受影响的行数
/// </summary>
/// <param name="sql"></param>
/// <param name="array"></param>
/// <returns></returns>
public int ExecuteNonQuery(string sql, ParametersArray array)
{
try
{
OleDbCommand com = new OleDbCommand(sql, con);
SetParametersArray(ref com, array);
return com.ExecuteNonQuery();
}
catch (Exception)
{ throw;
}
}
#endregion
#region ExecuteReader
public OleDbDataReader ExecuteReader(string sql)
{
try
{
using (OleDbCommand com = new OleDbCommand(sql, con))
{
OleDbDataReader reader = com.ExecuteReader();
return reader;
}
}
catch (Exception)
{ throw;
}
}
public OleDbDataReader ExecuteReader(string sql, OleDbParameter par)
{
try
{
using (OleDbCommand com = new OleDbCommand(sql, con))
{
com.Parameters.Add(par);
OleDbDataReader reader = com.ExecuteReader();
return reader;
}
}
catch (Exception)
{ throw;
}
}
public OleDbDataReader ExecuteReader(string sql, ParametersArray array)
{
try
{
OleDbCommand com = new OleDbCommand(sql, con);
SetParametersArray(ref com, array);
OleDbDataReader reader = com.ExecuteReader();
return reader;
}
catch (Exception)
{ throw;
}
}
#endregion
#region 读取查询结果中的第一行第一列
/// <summary>
/// 读取查询结果中的第一行第一列
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public object ExecuteScalar(string sql)
{
try
{
using (OleDbCommand com = new OleDbCommand(sql, con))
{
return com.ExecuteScalar();
}
}
catch (Exception)
{ throw;
}
} /// <summary>
/// 读取查询结果中的第一行第一列
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public object ExecuteScalar(string sql, OleDbParameter par)
{
try
{
using (OleDbCommand com = new OleDbCommand(sql, con))
{
com.Parameters.Add(par);
return com.ExecuteScalar();
}
}
catch (Exception)
{ throw;
}
} /// <summary>
/// 读取查询结果中的第一行第一列
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public object ExecuteScalar(string sql, ParametersArray array)
{
try
{
OleDbCommand com = new OleDbCommand(sql, con);
SetParametersArray(ref com, array);
return com.ExecuteScalar();
}
catch (Exception)
{ throw;
}
}
#endregion
#region 执行Insert语句,并返回新添加的记录ID
/// <summary>
/// 执行Insert语句,并返回新添加的记录ID
/// </summary>
/// <returns></returns>
public object ExecuteNonQueryAndGetIdentity(string sql)
{
try
{
using (OleDbCommand com = new OleDbCommand(sql, con))
{
if (com.ExecuteNonQuery() >= )
{
com.CommandText = "select @@identity";
return com.ExecuteScalar();
}
else
{
throw new Exception("记录添加不成功!");
}
}
}
catch (Exception)
{
throw;
}
} /// <summary>
/// 执行Insert语句,并返回新添加的记录ID
/// </summary>
public object ExecuteNonQueryAndGetIdentity(string sql, OleDbParameter par)
{
try
{
using (OleDbCommand com = new OleDbCommand(sql, con))
{
com.Parameters.Add(par);
if (com.ExecuteNonQuery() >= )
{
com.CommandText = "select @@identity";
return com.ExecuteScalar();
}
else
{
throw new Exception("记录添加不成功!");
}
}
}
catch (Exception)
{
throw;
}
} /// <summary>
/// 执行Insert语句,并返回新添加的记录ID
/// </summary>
/// <param name="sql"></param>
/// <param name="array"></param>
/// <returns></returns>
public object ExecuteNonQueryAndGetIdentity(string sql, ParametersArray array)
{
try
{
OleDbCommand com = new OleDbCommand(sql, con);
SetParametersArray(ref com, array);
if (com.ExecuteNonQuery() >= )
{
com.CommandText = "select @@identity";
return com.ExecuteScalar();
}
else
{
throw new Exception("记录添加不成功!");
}
}
catch (Exception)
{ throw;
}
}
#endregion
#region 返回DataSet
/// <summary>
/// 返回DataSet
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public DataSet GetDataSet(string sql)
{
try
{ using (OleDbDataAdapter adpter = new OleDbDataAdapter(sql, con))
{
DataSet ds = new DataSet();
adpter.Fill(ds);
return ds;
}
}
catch (Exception)
{
throw;
} } /// <summary>
/// 返回DataSet
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public DataSet GetDataSet(string sql,OleDbParameter par)
{
try
{
using (OleDbCommand com = new OleDbCommand(sql,con))
{
com.Parameters.Add(par);
using (OleDbDataAdapter adpter = new OleDbDataAdapter(com))
{
DataSet ds = new DataSet();
adpter.Fill(ds);
return ds;
}
} }
catch (Exception)
{
throw;
}
} /// <summary>
/// 返回DataSet
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public DataSet GetDataSet(string sql, ParametersArray array)
{
try
{
OleDbCommand com = new OleDbCommand(sql, con);
SetParametersArray(ref com,array);
using (OleDbDataAdapter adpter = new OleDbDataAdapter(com))
{
DataSet ds = new DataSet();
adpter.Fill(ds);
return ds;
}
}
catch (Exception)
{
throw;
}
}
#endregion
} /// <summary>
/// 一组Parameters对象
/// </summary>
public class ParametersArray
{
List<System.Data.OleDb.OleDbParameter> par = new List<System.Data.OleDb.OleDbParameter>();
/// <summary>
/// 添加新参数
/// </summary>
/// <param name="par"></param>
public void Add(System.Data.OleDb.OleDbParameter par)
{
this.par.Add(par);
}
/// <summary>
/// 获取全部
/// </summary>
/// <returns></returns>
public List<System.Data.OleDb.OleDbParameter> GetArray()
{
return this.par;
}
}
}

C# Access DBHelp的更多相关文章

  1. 【基于WinForm+Access局域网共享数据库的项目总结】之篇一:WinForm开发总体概述与技术实现

    篇一:WinForm开发总体概述与技术实现 篇二:WinForm开发扇形图统计和Excel数据导出 篇三:Access远程连接数据库和窗体打包部署 [小记]:最近基于WinForm+Access数据库 ...

  2. windows 部署 git 服务器报 Please make sure you have the correct access rights and the repository exists.错误

    这两天在阿里云上弄windows 服务器,顺便部署了一个git服务.根据网上教程一步步操作下来,最后在 remote远程仓库的时候提示 fatal: 'yourpath/test.git' does ...

  3. 【.net 深呼吸】连接Access数据库应注意的几点

    本地数据库可以有Y种选择,比如Sqlite.SQL Server Express.SQL Local DB.SQL Server CE.Access等,本文老周选用比较著名的Access本地数据库,在 ...

  4. ASP.NET OAuth:解决refresh token无法刷新access token的问题

    最近同事用iOS App调用Open API时遇到一个问题:在access token过期后,用refresh token刷新access token时,服务器响应"invalid_gran ...

  5. ASP.NET OAuth:access token的加密解密,client secret与refresh token的生成

    在 ASP.NET OWIN OAuth(Microsoft.Owin.Security.OAuth)中,access token 的默认加密方法是: 1) System.Security.Crypt ...

  6. Web API与OAuth:既生access token,何生refresh token

    在前一篇博文中,我们基于 ASP.NET Web API 与 OWIN OAuth 以 Resource Owner Password Credentials Grant 的授权方式( grant_t ...

  7. ASP.NET Web API与Owin OAuth:使用Access Toke调用受保护的API

    在前一篇博文中,我们使用OAuth的Client Credential Grant授权方式,在服务端通过CNBlogsAuthorizationServerProvider(Authorization ...

  8. 基于DotNetOpenAuth的OAuth实现示例代码: 获取access token

    1. 场景 根据OAuth 2.0规范,该场景发生于下面的流程图中的(D)(E)节点,根据已经得到的authorization code获取access token. 2. 实现环境 DotNetOp ...

  9. 【基于WinForm+Access局域网共享数据库的项目总结】之篇二:WinForm开发扇形图统计和Excel数据导出

    篇一:WinForm开发总体概述与技术实现 篇二:WinForm开发扇形图统计和Excel数据导出 篇三:Access远程连接数据库和窗体打包部署 [小记]:最近基于WinForm+Access数据库 ...

随机推荐

  1. JS数据类型的理解(猜测)

    Js 数据类型 对于这个主题,首先来看几个问题,如果你对这几个问题很清楚的话,那就请直接跳过吧,不用接着往下看了,如果不清楚,建议你还是看看. 1)如果判断函数?function 和object的联系 ...

  2. Winform设置相关

    >>  Winform查找根目录 1) AppDomain.CurrentDomain.BaseDirectory 地址为: d:\MyProject\Bin\  Application. ...

  3. 设置VMWARE通过桥接方式使用主机无线网卡上网

    原文:http://www.cnblogs.com/liongis/p/3265458.html 环境:WIN7旗舰版,台式机,U盘无线上网卡. 虚拟软件:VMware9.0,虚拟系统:CentOS6 ...

  4. CodeSite使用小结 转载

    一.要使用Codesite,需要引用csintf单元二.CodeSite的基本方法(一)AddCheckPoint方法codesite.AddCheckPoint 加入监测点(二)AddSeperat ...

  5. HDU4010 Query on The Trees(LCT)

    人生的第一道动态树,为了弄懂它的大致原理,需要具备一些前置技能,如Splay树,树链剖分的一些概念.在这里写下一些看各种论文时候的心得,下面的代码是拷贝的CLJ的模板,别人写的模板比较可靠也方便自己学 ...

  6. HDU 2672 god is a girl (字符串处理,找规律,简单)

    题目 //1,1,2,3,5,8,13,21,34,55…… //斐波纳契数列 #include<math.h> #include<stdio.h> #include<s ...

  7. OneApm,NewRelic

    https://newrelic.com/ http://www.csdn.net/article/2013-03-25/2814631-new-relic-mobile-app-real-time- ...

  8. Android OpenGL 学习笔记 --开始篇

    转自: http://www.cnblogs.com/TerryBlog/archive/2010/07/09/1774475.html 1.什么是 OpenGL? OpenGL 是个专业的3D程序接 ...

  9. TCP/IP协议 三次握手与四次挥手【转】

    一.TCP报文格式 TCP/IP协议的详细信息参看<TCP/IP协议详解>三卷本.下面是TCP报文格式图: 图1 TCP报文格式 上图中有几个字段需要重点介绍下:        (1)序号 ...

  10. C#反射Assembly 详细说明

    1.对C#反射机制的理解2.概念理解后,必须找到方法去完成,给出管理的主要语法3.最终给出实用的例子,反射出来dll中的方法 反射是一个程序集发现及运行的过程,通过反射可以得到*.exe或*.dll等 ...