`
ihuashao
  • 浏览: 4552652 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

关于c#.Net操作Access数据库的类,支持事务处理

阅读更多

为提高程序效率计,类中所有方法均为静态方法。

oledb驱动,支持事务处理。引类抛砖引玉,不足之处大师们多多指教。

OleDbAccess.cs原码如下:

/**//*
*@Sban2006-12
*Access数据库Oldb操作类
*/

usingSystem;
usingSystem.Data;
usingSystem.Data.OleDb;

namespaceSban
...
...{
publicstaticclassOleDbAccess
...
...{
/**//**//**////<summary>
///取得数据库连接
///</summary>
///<paramname="connectionString"></param>
///<returns></returns>

publicstaticOleDbConnectionGetConnection(stringconnectionString)
...
...{
OleDbConnectionconn
=newOleDbConnection(connectionString);
try
...
...{
conn.Open();
}

catch(Exceptione)
...
...{
thrownewException("数据库连接字符串可能有问题!",e);
}


returnconn;
}

/**//**//**////<summary>
///
///</summary>
///<paramname="param"></param>
///<returns></returns>

publicstaticstringFiltArg(refstringparam)
...
...{
param
=System.Web.HttpUtility.HtmlEncode(param);
param
=param.Replace("'","").Replace(""","");

returnparam;
}

/**//**//**////<summary>
///获得oledb连接字符串
///</summary>
///<paramname="dataBasePath"></param>
///<returns></returns>

publicstaticstringGetConnectionString(stringdataBasePath)
...
...{
return"PROVIDER=Microsoft.Jet.OLEDB.4.0;DATASource="+dataBasePath;
}


/**//**//**////<summary>
///
///</summary>
///<paramname="conn"></param>
///<returns></returns>

publicstaticOleDbCommandGetCommand(refOleDbConnectionconn)
...
...{
returnconn.CreateCommand();
}


/**//**//**////<summary>
///starttransactionandreturn
///</summary>
///<paramname="conn"></param>
///<paramname="cmd"></param>
///<returns></returns>

publicstaticOleDbTransactionStartTrans(refOleDbConnectionconn,refOleDbCommandcmd)
...
...{
returncmd.Transaction=conn.BeginTransaction();
}


publicstaticvoidRollTrans(refOleDbTransactiontrans)
...
...{
trans.Rollback();
}


publicstaticvoidCommitTrans(refOleDbTransactiontrans)
...
...{
trans.Commit();
}


/**//**//**////<summary>
///
///</summary>
///<paramname="cmd"></param>
///<paramname="query"></param>
///<paramname="param"></param>

publicstaticvoidExecuteNonQuery(refOleDbCommandcmd,stringquery,paramsOleDbParameter[]param)
...
...{
cmd.CommandType
=CommandType.Text;
cmd.CommandText
=query;
cmd.Parameters.Clear();
if(null!=param)
cmd.Parameters.AddRange(param);

try
...
...{
cmd.ExecuteNonQuery();
}

catch(Exceptione)
...
...{
thrownewException("ExecuteNonQuery:执行数据库操作时出现问题!",e);
}

}


/**//**//**////<summary>
///
///</summary>
///<paramname="conn"></param>
///<paramname="cmd"></param>

publicstaticvoidDispose(refOleDbConnectionconn,refOleDbCommandcmd)
...
...{
try
...
...{
conn.Close();
cmd.Dispose();
conn.Dispose();
}

catch
...
...{
//thrownewException("执行数据库对象清除可能有问题!",e);
}

}


/**//**//**////<summary>
///GetParametersarray
///</summary>
///<paramname="arr"></param>
///<returns></returns>

publicstaticOleDbParameter[]GetParameters(paramsobject[]arr)
...
...{
OleDbParameter[]paramArray
=newOleDbParameter[arr.Length];
object[]o;

for(intj=0;j<arr.Length;j++)
...
...{
o
=(object[])arr[j];
paramArray[j]
=GetParameter(o);
}


returnparamArray;
}


/**//**//**////<summary>
///GetParameter
///</summary>
///<paramname="arr"></param>
///<returns></returns>

publicstaticOleDbParameterGetParameter(paramsobject[]arr)
...
...{
OleDbParameterparam
=newOleDbParameter(arr[0].ToString(),arr[1]);
if(arr.Length>2)
param.OleDbType
=(OleDbType)arr[2];
if(arr.Length>3)
param.Size
=Convert.ToInt32(arr[3]);

returnparam;
}


/**//**//**////<summary>
///executequeryandreturndataset.
///</summary>
///<paramname="cmd"></param>
///<paramname="query"></param>
///<paramname="param"></param>
///<returns></returns>

publicstaticOleDbDataReaderExecuteReader(refOleDbCommandcmd,stringquery,paramsOleDbParameter[]param)
...
...{
OleDbDataReaderdr
=null;

cmd.CommandType
=CommandType.Text;
cmd.CommandText
=query;
cmd.Parameters.Clear();
if(null!=param)
cmd.Parameters.AddRange(param);

try
...
...{
dr
=cmd.ExecuteReader();
}

catch(Exceptione)
...
...{
thrownewException("ExecuteReader:执行数据库操作时出现问题!",e);
}


returndr;
}


/**//**//**////<summary>
///
http://images.csdn.net/syntaxhighlighting/Outli
分享到:
评论

相关推荐

    非常实用c#操作Access数据库的例子(application)

    本文介绍C#访问操作Access数据库的基础知识,并提供一个相关的例程。 1.通过ADO.NET的OleDb相关类来操作Access 主要知识点如下: using System.Data.OleDb; using System.Data; 连接字符串:String connectionString...

    ORM框架-VB/C#.Net实体代码生成工具(EntitysCodeGenerate)ECG4.3.pdf

    支持.Net1.1及以上版本,可用于Oracle、SqlServer、Sybase、DB2、MySQL、Access、SQLite、PostgreSQL、DM(达梦)、PowerDesigner文件、Informix、Firebird、MaxDB、Excel等和OleDb、ODBC连接的数据库并可自定义,详见...

    asp.net知识库

    关于能自定义格式的、支持多语言的、支持多数据库的代码生成器的想法 发布Oracle存储过程包c#代码生成工具(CodeRobot) New Folder XCodeFactory3.0完全攻略--序 XCodeFactory3.0完全攻略--基本思想 XCodeFactory...

    C#开发的事务管理系统,源代码

    7.ACCESS数据库,无需繁琐的安装步骤即可马上使用 8.C# 2.0开发,运行程序至少需要安装.net fw 2.0,office access 运行程序路径: Affair\AffairSystem\bin\Debug\AffairSystem.exe 数据库路径: Affair\AffairSystem\...

    .net数据访问类 SQL Helper 类

    摘要:Data Access Application Block 是一个 .NET 组件,包含优化的数据访问代码,可以帮助用户调用存储过程以及向 SQL Server 数据库发出 SQL 文本命令。它返回 SqlDataReader、DataSet 和 XmlReader 对象。您可以...

    WEF:WEF基于c#数据实体框架,支持常规数据库的MSQSqlServer,MySql,Orcalce,Postgre等,并具有快速开发的能力,该工具在无SQL查询的Lambada等工具的开发经验下集成了大量数据集。表达式,添加和删除,实体克隆,表的批量和参数,事务,实体或存储过程的回合,SQL实体等

    支持MSQSqlServer,MySql,Orcalce等常规的数据库的快捷方式开发,其中集成了分布式数据开发经验的下一个工具类集合,例如Lambda表达式查询,无SQL的增删改查,实体克隆,批量,多表,事务,参数,SQL转实体或存储...

    C#开发经验技巧宝典

    0947 将Access数据库导入到Excel中(ASP.NET) 552 0948 在.NET 2.0框架下动态创建Access数据库 553 0949 在.NET 2.0框架下动态创建Access数据表 553 0950 如何备份Access数据库 554 20.2 SQL数据库的使用...

    投票系统

    DbOperation.cs: 数据库访问类,支持事务。 SqlGenerator.cs: SQL语句生成类,使用了c#的反射功能。 Vote项目是表示层,同时在业务逻辑类Comm也放在这个项目里。 AdmCrtItems.aspx: 投票项管理功能,可以...

    ado[1].net中文手册 学习 ado.net的重要资料

    执行数据库操作和修改数据:描述如何使用 Command 对数据源发出 INSERT、UPDATE 和 DELETE 命令,以及如何执行目录操作(如创建或更改表)。 从 SQL Server 中以 XML 形式获取数据:描述如何使用 Command 以 ...

    班级的数据库课程设计 源代码 文档 使用说明6

    前台语言种类比较多,含有vb(较多)、c++、vb.net、c#、java等,后台数据库多数是sql2000、sql2005和access!希望对做数据库课程设计的同学有所帮助!~~还有就是这些课程设计比较简单(3~10几M/个)——如果做毕业...

    ASP.NET的网页代码模型及生命周期

    代码隐藏页模型与单文件页模型不同的是,代码隐藏页模型将事物处理代码都存放在cs文件中,当ASP.NET网页运行的时候,ASP.NET类生成时会先处理cs文件中的代码,再处理.aspx页面中的代码。这种过程被成为代码分离。 ...

    dotnetcoding ORM 代码生成器

    支持VB.net , c#.Net两种开发语言 支持SqlServer, Oracle, Access等多种数据库, 并且支持用SqlServer数据库来进行数据模式的设计,而实际开发运行数据库是其他数据库的情况, 开发的应用可以非常轻松的变换数据库. ...

    C#爬虫工具源码.rar

    10. 支持采集结果数据的加工,包括替换、附前缀后缀、截取等操作,支持正则; 11. 采集网址定义不仅支持基本参数定义,也可外接字典数据作为网址参数,进行数据采集; 12. 支持一个任务多实例运行; 13. 提供计划...

    C#网络爬虫_网络矿工开源版

    10. 支持采集结果数据的加工,包括替换、附前缀后缀、截取等操作,支持正则; 11. 采集网址定义不仅支持基本参数定义,也可外接字典数据作为网址参数,进行数据采集; 12. 支持一个任务多实例运行; 13. 提供计划...

    C#编程经验技巧宝典

    C#编程经验技巧宝典源代码,目录如下: 第1章 开发环境 1 &lt;br&gt;1.1 Visual Studio开发环境安装与配置 2 &lt;br&gt;0001 安装Visual Studio 2005开发环境须知 2 &lt;br&gt;0002 配置合适的Visual Studio 2005...

    Yesss日历记事软件

    C#开发的日历记事软件 ...9.ACCESS数据库,无需繁琐的安装步骤,解压缩后即可马上使用 10.C# 2.0开发,win 7以上直接运行,XP需要安装.net framework 2.0 助您不忘未来事,不丢过去事,点点滴滴记心头 :)

Global site tag (gtag.js) - Google Analytics