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
>
查看全文
相关阅读:
信息安全系统设计基础第八周期中复习总结
layui下各种富文本的冲突情况
TP3.2+find_set_in 以及 find_set_in和like的区别
tp5+linux+apache php7.1.30环境下,上传图片报错:mkdir():permission denied
一次基于老古董thinkPHP3.1的修改尝试
微信网页开发 thinkphp5.0的try-catch和重定向
CentOS 7.2下服务器配置(linux+apache+php+mysql)
微信小程序踩坑(不定时更新)
PHP 定时自动执行代码
PHP TP5 文章评论+积分+签到
原文地址:https://www.cnblogs.com/ding0910/p/1201504.html
最新文章
数据字典
20135310陈巧然 20135305姚歌 实验一:开发环境的熟悉
20135305姚歌 20135310陈巧然 实验五:通讯协议设计
20135305姚歌 20135310陈巧然 实验三:实时系统的移植
20135310陈巧然家庭作业汇总[3.56 3.67 6.23 6.39.6.40 6.41]
信息安全系统设计基础第十二周学习总结
信息安全系统设计基础第十一周学习总结
信息安全系统设计基础第十周学习总结
20135305姚歌 20135310陈巧然 实验二:固件设计
信息安全系统设计基础第九周学习总结
热门文章
信息安全系统设计基础第七周期中总结
信息安全系统设计基础第十三周学习总结
实验四实验报告。小组
20135239+20125221+20135235实验二实验报告
信息安全系统设计基础第十二周学习总结
信息安全系统设计基础第十一周学习总结
益西拉姆 20135239 +银雪纯 20125221 +马悦 20135235 实验1 实验报告
信息安全系统设计基础第十周学习总结
家庭作业 6.23 两星
信息安全系统设计基础第九周学习总结
Copyright © 2011-2022 走看看