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
>
查看全文
相关阅读:
企业大数据-之机器数据
实践和感悟
企业级大数据处理方案03-数据流程
scala数据库工具类
企业生产环境集群稳定性-HA就行吗?
企业级大数据处理方案-02.环境决定需求、性能决定选型
Scala编程之访问修饰符
spark-submit提交参数设置
window.location
[转载]Arguments
原文地址:https://www.cnblogs.com/ding0910/p/1201504.html
最新文章
quartz CronExpression表达式
Elasticsearch Java 虚拟机配置详解
python生成随机验证码
ajax全套和跨域
django-form验证
django-modles操作(ORM)
django_基础
django_进阶
django-middleware中间件
MySQL(一)
热门文章
Django自定义分页
MySQL(连表查询)
UIPickerView,程序启动的完整过程
使用delegate的步骤
UIScrollView
UI基础二
Xcode 快捷键 特别是代码格式化代码ctrl+i
IOS UI二
IOS UI基础一
企业大数据之Elasticsearch的搜索类型
Copyright © 2011-2022 走看看