/*
* 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. codechef 两题

    前面做了这场比赛,感觉题目不错,放上来. A题目:对于数组A[],求A[U]&A[V]的最大值,因为数据弱,很多人直接排序再俩俩比较就过了. 其实这道题类似百度之星资格赛第三题XOR SUM, ...

  2. Sqli-labs less 32

    Less-32 利用上述的原理,我们可以进行尝试payload为: http://127.0.0.1/sqli-labs/Less-32/?id=-1%df%27union%20select%201, ...

  3. codeforces 455B A Lot of Games(博弈,字典树)

    题目 参考自博客:http://blog.csdn.net/keshuai19940722/article/details/38455269 //字典树,博弈 根据当前节点的后续来确定当前节点的状态, ...

  4. P==NP??

    注:基础知识见下方 下面是关于P==NP ???  一些讨论,挺好玩的. 1. 首先强调一下数学上还没有证明这个问题!但是我们看看其他角度来看这个问题. 其次,心理上来说,要是可以证明P==NP那么早 ...

  5. POJ 3320

    Jessica's Reading Problem Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6496   Accept ...

  6. 2015年4月 非常干货之Python资源大全

    [非常干货之Python资源大全]Python是一门美妙的语言,简单易用,容易提升.它是一门主流语言,却没有其它专业语言的弊病,从游戏,ML,GUI到科学和数学有着巨量的函数库. 直击现场 <H ...

  7. Android Source Code

    一. Android 框架 http://elinux.org/Master-android Android框架层级 : Android 自下 而 上 分为 4层; -- Linux内核层; -- 各 ...

  8. Android——横屏和竖屏的切换,以及明文密码的显示

    查看API文档: android.content.pm.ActivityInfo    在手机的使用中,我们要根据不同的需求来改变屏幕的显示方向,一般在浏览信息时是竖屏,在玩游戏的时候就要切换到横屏. ...

  9. hdu 3886 Final Kichiku “Lanlanshu” 数位DP

    思路: dp[i][j][k]:满足在字符串的j位,前一位数字是k. 代码如下: #include<iostream> #include<cstdio> #include< ...

  10. (转)android屏幕适配

    声明:eoe文章著作权属于作者,受法律保护,转载时请务必以超链接形式附带如下信息 原文作者: zhuangyujia 原文地址: http://my.eoe.cn/zhuangyujia/archiv ...