Access数据库连接封装类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.OleDb;
using System.Data.SqlClient;
using System.Data; namespace AccessSQLHelper
{
public static class AccessHelper
{
//从配置文件中获取连接字符串 readonly修饰的变量只能在初始化或构造函数中赋值;其他地方只能读取
//private static readonly string constr = ConfigurationManager.ConnectionStrings["OperationHistory"].ConnectionString;
private static string constr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = G:\\AA封装类\\Access数据库\\AccessTest.mdb "; /// <summary>
/// 配置Access数据库连接字符串
/// </summary>
/// <param name="pathConnection">Access数据库路径</param>
/// <param name="passWord">密码</param>
public static void AccessConnection(string pathConnection, string passWord)
{
constr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " + pathConnection;
if (passWord != null)
{
constr += "Jet OLEDB:Database Password = " + passWord;
}
} /// <summary>
/// 增、删、改的方法[ExecuteNonQuery] 返回所影响的行数,执行其他
/// </summary>
/// <param name="sql">Sql命令</param>
/// <param name="cmdtype">SQL语句(CommandType.Text)或者存储过程(CommandType.StoredProcedure)</param>
/// <param name="pms"></param>
/// <returns></returns>
public static int ExecuteNonQuery(string sql, params SqlParameter[] pms)
{
int i = -;
try
{
using (OleDbConnection con = new OleDbConnection(constr))
{
using (OleDbCommand cmd = new OleDbCommand(sql, con))
{
if (pms != null)
{
cmd.Parameters.AddRange(pms);
} con.Open();
i = cmd.ExecuteNonQuery();
}
}
}
catch (Exception)
{
throw;
} return i;
} /// <summary>
/// 执行查询、查询多少条数据;返回第一行,第一列方法[ExecuteScalar] 返回-1执行失败
/// </summary>
/// <param name="sql">Sql命令</param>
/// <param name="cmdtype">SQL语句(CommandType.Text)或者存储过程(CommandType.StoredProcedure)</param>
/// <param name="pms"></param>
/// <returns></returns>
public static object ExecuteScalar(string sql, params SqlParameter[] pms)
{
try
{
using (OleDbConnection con = new OleDbConnection(constr))
{
using (OleDbCommand cmd = new OleDbCommand(sql, con))
{
if (pms != null)
{
cmd.Parameters.AddRange(pms);
} con.Open();
return cmd.ExecuteScalar();
}
}
}
catch (Exception)
{
throw;
}
} /// <summary>
/// 执行查询,返回多行、多列的方法ExecuteReader()
/// </summary>
/// <param name="sql">Sql命令</param>
/// <param name="cmdtype">SQL语句(CommandType.Text)或者存储过程(CommandType.StoredProcedure)</param>
/// <param name="pms"></param>
/// <returns></returns>
public static OleDbDataReader ExecuteReader(string sql, params SqlParameter[] pms)
{
using (OleDbConnection con = new OleDbConnection(constr))
{
using (OleDbCommand cmd = new OleDbCommand(sql, con))
{
if (pms != null)
{
cmd.Parameters.AddRange(pms);
} try
{
con.Open();
return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
}
catch
{
con.Close();
con.Dispose();
throw;
}
}
}
} /// <summary>
/// 执行返回多个查询时使用,返回DataTable类型
/// </summary>
/// <param name="sql">Sql命令</param>
/// <param name="cmdtype">SQL语句(CommandType.Text)或者存储过程(CommandType.StoredProcedure)</param>
/// <param name="pms">参数</param>
/// <returns></returns>
public static DataTable ExecuteDataTable(string sql, params SqlParameter[] pms)
{
DataTable dt = new DataTable();
try
{
//通过adapter读取数据。
using (OleDbDataAdapter adapter = new OleDbDataAdapter(sql, constr))
{
if (pms != null)
{
adapter.SelectCommand.Parameters.AddRange(pms);
} adapter.Fill(dt);
return dt;
}
}
catch (Exception)
{
throw;
}
}
}
}
Access数据库连接封装类的更多相关文章
- IIS7.5 asp+access数据库连接失败处理 64位系统
IIS7.5 asp+access数据库连接失败处理(SRV 2008R2 x64/win7 x64) IIS7.5不支持oledb4.0驱动?把IIS运行模式设置成32位就可以了,微软没有支持出64 ...
- access数据库连接问题
使用Visual Studio连接access数据库(数据库后缀.accdb)时连接不上(access数据库提示未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序)解决办 ...
- Access数据库连接方式
网络连接:Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\server\share\folder\myAccessFile.accdb;标准安全:Pro ...
- Java获取Access数据库连接单例简单实例
Java在连接Access数据库时比较方便,不用导入第三方的jar包,jdk中内置的odbc可以完成Access数据库的访问,需要注意的是,我们首先要配置Access数据库的数据源,还要区分x86和x ...
- Access数据库连接字符串
<connectionStrings> <add name="connStr" connectionString="server=.;uid=home; ...
- win7 64位 asp+access 数据库连接出错[代码:02],请检查数据库链接文件中的连接字串
解决办法,启用32位应用程序改为true 打开“Internet 信息服务(IIS)管理器”,在最右边的窗口中点击“应用程序池”,在用到的应用程序池上点击右键,选择“高级设置”
- Access 数据库连接 字符串
<!--Microsoft.Practices.EnterpriseLibrary.Data.dll 操作引用程序集--> <connectionStrings> <ad ...
- 【基于WinForm+Access局域网共享数据库的项目总结】之篇一:WinForm开发总体概述与技术实现
篇一:WinForm开发总体概述与技术实现 篇二:WinForm开发扇形图统计和Excel数据导出 篇三:Access远程连接数据库和窗体打包部署 [小记]:最近基于WinForm+Access数据库 ...
- web.config数据库连接字符串
我们在做VB数据库经典实例这本书上的五个小例子和做学生信息管理系统时,都需要通过Vb链接数据库,在众多的链接方式中connectionstring字符串应该是较为简单的一种方式,下面我来详细介绍它的一 ...
随机推荐
- 深层目录文件复制,C# 递归,录音录像图片文件过多,用于测试程序
/// <summary> /// 录音录像图片文件过多只复制目录的前几个文件,用于测试程序 /// d:\file/images/2019-10/01/01/xxxxx.jpg(前几个文 ...
- 基于Keras搭建MLP
Keras是一套基于Tensorflow.Theano及CNTK后端的高层神经网络API,可以非常友好地支持快速实验,本文从零开始介绍了如何使用Keras搭建MLP并给出两个示例. 基于Ubuntu安 ...
- C_局部变量&全局变量
2018-5-9 Writen By Stephen.Yu 一.定义 1. 局部变量:在函数中定义的变量 2. 全局变量:在所有函数体之外定义 定义(Definition):声明并分配内存;未分 ...
- Tomcat6项目移到Tomcat7 提示 404 解决方案
一个项目在Tomcat6可以运行和正常访问,但是一部署到Tomcat7就提示404错误.那么可以通过以下方法解决: 找到项目下面的 WEB-INF 文件夹 用记事本打开 WEB.XML 找 ...
- springboot项目,打包时携带所有依赖
springboot项目,打包时携带所有依赖 本文主要解决springboot打包时,如何设置才能把当前项目的所有依赖都打进去. Springboot 的自带spring-boot-maven-plu ...
- P3121 [USACO15FEB]审查(AC自动机)
题目: P3121 [USACO15FEB]审查(黄金)Censoring (Gold) 解析: 多字符串匹配,首先想到AC自动机 建立一个AC自动机 因为有删除和拼接这种操作,考虑用栈维护 顺着文本 ...
- iOS - 直播流程,视频推流,视频拉流,简介,SMTP、RTMP、HLS、 PLPlayerKit
收藏笔记 1 . 音视频处理的一般流程: 数据采集→数据编码→数据传输(流媒体服务器) →解码数据→播放显示1.数据采集:摄像机及拾音器收集视频及音频数据,此时得到的为原始数据涉及技术或协议:摄像机: ...
- JavaScript之DOM节点操作
a.appendChild(b) 追加标签 a是b的父级,将b追加到a中 追加标签 a.insertBefore(b,c); a是b和c的父级,在c前面插入b 删除标签 a.removeCli ...
- ORACLE表、索引和分区详解
ORACLE表.索引和分区 一.数据库表 每种类型的表都有不同的特性,分别应用与不同的领域 堆组织表 聚簇表(共三种) 索引组织表 嵌套表 临时表 外部表和对象表 1.行迁移 建表过程中可以指定以下两 ...
- Leetcode刷题python
Two Sum 两数==target 方法二更好 题1,对时间复杂度有要求O(n),所以维护一个字典,遍历过的数值放在字典中,直接遍历时候查找字典中有没有出现差,查找字典时间复杂度是O(1),所以O( ...