/*
* 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. web之困:现代web应用安全指南

    <web之困:现代web应用安全指南>在web安全领域有“圣经”的美誉,在世界范围内被安全工作者和web从业人员广为称道,由来自google chrome浏览器团队的世界顶级黑客.国际一流 ...

  2. Portlet之讲解

    Portlet在Web门户上管理和显示的可插拔的用户界面组件.Portlet产生可以聚合到门户页面中的标记语言代码的片段,如HTML,XML等.通常,根据桌面隐喻,一个门户页面显示为一组互相不重叠的p ...

  3. CSS3 transition规范的实际使用经验

    本篇文章主要讲述CSS3 transition规范和在不同浏览器之间的使用差异,关于具体解决方法或如何规避问题的意见可以参考另一篇非常有见地的文章,“All You Need to Know Abou ...

  4. Mac OS 上设置 JAVA_HOME

    Mac OS 上设置 JAVA_HOME 原文链接:http://han.guokai.blog.163.com/blog/static/136718271201301183938165/ 由于需要, ...

  5. Unity3D开发Windows Store应用程序 注意事项

    原地址:http://blog.csdn.net/jbjwpzyl3611421/article/details/12704491 针对最近在移植window store项目中遇到的问题,我整理了官方 ...

  6. HDU 4287 Intelligent IME(string,map,stl,make_pair)

    题目 转载来的,有些stl和string的函数蛮好的: //numx[i]=string(sx); //把char[]类型转换成string类型 // mat.insert(make_pair(num ...

  7. JS事件驱动机制

    还记得当初学JAVA-GUI编程时学习过事件监听机制,此时再学习JavaScript中的事件驱动机制,不免简单.当初学习时也是画过原理图,所以从原理图开始吧! js是采用事件驱动(event-driv ...

  8. NPOI之Excel——合并单元格、设置样式、输入公式

    首先建立一个空白的工作簿用作测试,并在其中建立空白工作表,在表中建立空白行,在行中建立单元格,并填入内容: //建立空白工作簿 IWorkbook workbook = new HSSFWorkboo ...

  9. openvswitch 修改dpid(datapath id)

    版本: $ sudo ovs-vsctl -Vovs-vsctl (Open vSwitch) 2.0.2Compiled May 13 2015 18:49:53 $ sudo ovs-vsctl ...

  10. 安卓开发利用外部jar包时ClassNotFound的错误

    今天调试一个小程序,一直没有进入 MainActivity 中的onCreate方法,因为没有看见提前设置好的log,然后仔细观察logcat的日志,发现提示很多ClassNotFound的信息,而且 ...