zoukankan
html css js c++ java
C#读写Access数据库公用类
/**/
/*
*
* Access数据库通用处理类
* Author: ding.email@163.com
* CreateTime: 2008-05-16
*/
using
System;
using
System.Collections.Generic;
using
System.Collections;
using
System.Text;
using
System.Data;
using
System.Data.OleDb;
using
System.Configuration;
using
System.Web;
using
System.IO;
namespace
DBUtility
{
public
class
EasyAccess
{
/**/
///
<summary>
///
连接数据库字符串
///
</summary>
private
string
connectionString;
/**/
///
<summary>
///
存储数据库连接(保护类,只有由它派生的类才能访问)
///
</summary>
protected
OleDbConnection Connection;
/**/
///
<summary>
///
构造函数:数据库的默认连接
///
</summary>
public
EasyAccess()
{
string
connStr;
connStr
=
ConfigurationManager.ConnectionStrings[
"
ConnectionString
"
].ConnectionString.ToString();
//
connStr = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"].ToString();
//
从web.config配置中读取
connectionString
=
connStr;
//
connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + HttpContext.Current.Request.PhysicalApplicationPath + connStr;
Connection
=
new
OleDbConnection(connectionString);
}
/**/
///
<summary>
///
构造函数:带有参数的数据库连接
///
</summary>
///
<param name="newConnectionString"></param>
public
EasyAccess(
string
newConnectionString)
{
connectionString
=
newConnectionString;
Connection
=
new
OleDbConnection(connectionString);
}
/**/
///
<summary>
///
获得连接字符串
///
</summary>
public
string
ConnectionString
{
get
{
return
connectionString;
}
}
/**/
///
<summary>
///
执行批处理(事务)
///
</summary>
///
<param name="arrlist"></param>
///
<returns></returns>
public
bool
ExecuteBatch(ArrayList arrlist)
{
bool
bFlag
=
true
;
string
strSQL
=
string
.Empty;
Connection.Open();
OleDbCommand command
=
null
;
using
(OleDbTransaction myTrans
=
Connection.BeginTransaction())
{
try
{
foreach
(Object objSql
in
arrlist)
{
strSQL
=
objSql.ToString().Trim();
if
(
!
string
.IsNullOrEmpty(strSQL))
command
=
new
OleDbCommand(strSQL, Connection, myTrans);
}
myTrans.Commit();
}
catch
(Exception e)
{
myTrans.Rollback();
try
{
string
lstrFileFolder
=
HttpContext.Current.Server.MapPath(
@"
~\log\
"
);
string
filename
=
"
SqlErr_
"
+
System.DateTime.Today.ToString(
"
yyyyMMdd
"
);
string
path
=
lstrFileFolder
+
filename;
//
判断目录是否存在,不存在就建立
if
(
!
Directory.Exists(lstrFileFolder))
{
Directory.CreateDirectory(lstrFileFolder);
}
//
写文件,文件存在则追加文本,不存在则创建新文件
FileStream fs
=
new
FileStream(path, FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter m_streamWriter
=
new
StreamWriter(fs);
m_streamWriter.BaseStream.Seek(
0
, SeekOrigin.End);
m_streamWriter.WriteLine(
"
=============== [
"
+
System.DateTime.Now.ToString()
+
"
] ===============
"
);
m_streamWriter.WriteLine(e.ToString());
m_streamWriter.WriteLine(
"
---------------------------------------
"
);
m_streamWriter.WriteLine(strSQL);
m_streamWriter.WriteLine(
"
---------------------------------------
"
);
m_streamWriter.WriteLine(
"
"
);
m_streamWriter.Flush();
m_streamWriter.Close();
}
catch
{ }
bFlag
=
false
;
}
finally
{
if
(Connection.State
==
ConnectionState.Open)
{
Connection.Close();
}
if
(Connection
!=
null
)
{
Connection.Dispose();
}
}
}
return
bFlag;
}
/**/
///
<summary>
///
执行SQL语句没有返回结果,如:执行删除、更新、插入等操作
///
</summary>
///
<param name="strSQL"></param>
///
<returns>
操作成功标志
</returns>
public
bool
ExecuteNonQuery(
string
strSQL)
{
bool
resultState
=
false
;
Connection.Open();
OleDbTransaction myTrans
=
Connection.BeginTransaction();
OleDbCommand command
=
new
OleDbCommand(strSQL, Connection, myTrans);
try
{
command.ExecuteNonQuery();
myTrans.Commit();
resultState
=
true
;
}
catch
{
myTrans.Rollback();
resultState
=
false
;
}
finally
{
Connection.Close();
}
return
resultState;
}
/**/
///
<summary>
///
执行SQL语句返回结果到DataReader中
///
</summary>
///
<param name="strSQL"></param>
///
<returns>
dataReader
</returns>
public
OleDbDataReader ExecuteDataReader(
string
strSQL)
{
Connection.Open();
OleDbCommand command
=
new
OleDbCommand(strSQL, Connection);
OleDbDataReader dataReader
=
command.ExecuteReader();
Connection.Close();
return
dataReader;
}
/**/
///
<summary>
///
执行SQL语句返回结果到DataSet中
///
</summary>
///
<param name="strSQL"></param>
///
<returns>
DataSet
</returns>
public
DataSet ExecuteDataSet(
string
strSQL)
{
Connection.Open();
DataSet dataSet
=
new
DataSet();
OleDbDataAdapter OleDbDA
=
new
OleDbDataAdapter(strSQL, Connection);
OleDbDA.Fill(dataSet,
"
myDataSet
"
);
Connection.Close();
return
dataSet;
}
/**/
///
<summary>
///
执行SQL语句返回结果到DataTable中
///
</summary>
///
<param name="strSQL"></param>
///
<returns></returns>
public
DataTable ExecuteDataTable(
string
strSQL)
{
return
this
.ExecuteDataSet(strSQL).Tables[
0
];
}
}
}
<
configuration
>
<
connectionStrings
>
<
add
name
="ConnectionString"
connectionString
="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\MyProject\Web2.0\myWeb\WebSite\App_Data\myData.mdb;Jet OLEDB:Database Password="
providerName
="System.Data.OleDb"
/>
</
connectionStrings
>
<
appSettings
>
<
add
key
="str_connection"
value
="database=MysqlserverDB;server=127.0.0.1;uid=sa;pwd=;Max pool size =299;enlist=true;persist security info=true"
/>
</
appSettings
>
查看全文
相关阅读:
SQL语句中case函数
动态获取数据库表中的字段名
Java实现最基本的集中排序
服务器上产看报错的日志的方法
数据结构顺序表Java实现
JavaScript创建对象
JavaScript的基础语法
javascript介绍
Java小项目迷你图书管理系统
CDN——到底用还是不用?
原文地址:https://www.cnblogs.com/ding0910/p/1201504.html
最新文章
199. Binary Tree Right Side View -----层序遍历
173. Binary Search Tree Iterator
144. Binary Tree Preorder Traversal (二叉树前序遍历)
114. Flatten Binary Tree to Linked List
113. Path Sum II(求等于某个数的所有路径)
106. Construct Binary Tree from Inorder and Postorder Traversal
105. Construct Binary Tree from Preorder and Inorder Traversal
103. Binary Tree Zigzag Level Order Traversal -----层序遍历
102. Binary Tree Level Order Traversal ------层序遍历
SQL必知必会——创建和操纵表(十七)
热门文章
SQL必知必会——插入数据(十五)
PHP【Laravel】delayer基于redis的实现订单超时改变状态
PHP浮点计算结果返回异常问题
Homestead中PHP扩展无phpize难以安装redis扩展的问题及解决办法
Dart 和 Flutter 使用json_annotation和json_serializable来处理json数据教程
SpringMVC·form表单Date类型问题导致的400问题
springboot-redis相关配置整理
docker-compose快速搭建 Prometheus+Grafana监控系统
Redis缓存接入监控、运维平台CacheCloud
MySQL中特有的函数If函数
Copyright © 2011-2022 走看看