为提高程序效率计,类中所有方法均为静态方法。
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数据库的基础知识,并提供一个相关的例程。 1.通过ADO.NET的OleDb相关类来操作Access 主要知识点如下: using System.Data.OleDb; using System.Data; 连接字符串:String connectionString...
支持.Net1.1及以上版本,可用于Oracle、SqlServer、Sybase、DB2、MySQL、Access、SQLite、PostgreSQL、DM(达梦)、PowerDesigner文件、Informix、Firebird、MaxDB、Excel等和OleDb、ODBC连接的数据库并可自定义,详见...
关于能自定义格式的、支持多语言的、支持多数据库的代码生成器的想法 发布Oracle存储过程包c#代码生成工具(CodeRobot) New Folder XCodeFactory3.0完全攻略--序 XCodeFactory3.0完全攻略--基本思想 XCodeFactory...
7.ACCESS数据库,无需繁琐的安装步骤即可马上使用 8.C# 2.0开发,运行程序至少需要安装.net fw 2.0,office access 运行程序路径: Affair\AffairSystem\bin\Debug\AffairSystem.exe 数据库路径: Affair\AffairSystem\...
摘要:Data Access Application Block 是一个 .NET 组件,包含优化的数据访问代码,可以帮助用户调用存储过程以及向 SQL Server 数据库发出 SQL 文本命令。它返回 SqlDataReader、DataSet 和 XmlReader 对象。您可以...
支持MSQSqlServer,MySql,Orcalce等常规的数据库的快捷方式开发,其中集成了分布式数据开发经验的下一个工具类集合,例如Lambda表达式查询,无SQL的增删改查,实体克隆,批量,多表,事务,参数,SQL转实体或存储...
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: 投票项管理功能,可以...
执行数据库操作和修改数据:描述如何使用 Command 对数据源发出 INSERT、UPDATE 和 DELETE 命令,以及如何执行目录操作(如创建或更改表)。 从 SQL Server 中以 XML 形式获取数据:描述如何使用 Command 以 ...
前台语言种类比较多,含有vb(较多)、c++、vb.net、c#、java等,后台数据库多数是sql2000、sql2005和access!希望对做数据库课程设计的同学有所帮助!~~还有就是这些课程设计比较简单(3~10几M/个)——如果做毕业...
代码隐藏页模型与单文件页模型不同的是,代码隐藏页模型将事物处理代码都存放在cs文件中,当ASP.NET网页运行的时候,ASP.NET类生成时会先处理cs文件中的代码,再处理.aspx页面中的代码。这种过程被成为代码分离。 ...
支持VB.net , c#.Net两种开发语言 支持SqlServer, Oracle, Access等多种数据库, 并且支持用SqlServer数据库来进行数据模式的设计,而实际开发运行数据库是其他数据库的情况, 开发的应用可以非常轻松的变换数据库. ...
10. 支持采集结果数据的加工,包括替换、附前缀后缀、截取等操作,支持正则; 11. 采集网址定义不仅支持基本参数定义,也可外接字典数据作为网址参数,进行数据采集; 12. 支持一个任务多实例运行; 13. 提供计划...
10. 支持采集结果数据的加工,包括替换、附前缀后缀、截取等操作,支持正则; 11. 采集网址定义不仅支持基本参数定义,也可外接字典数据作为网址参数,进行数据采集; 12. 支持一个任务多实例运行; 13. 提供计划...
C#编程经验技巧宝典源代码,目录如下: 第1章 开发环境 1 <br>1.1 Visual Studio开发环境安装与配置 2 <br>0001 安装Visual Studio 2005开发环境须知 2 <br>0002 配置合适的Visual Studio 2005...
C#开发的日历记事软件 ...9.ACCESS数据库,无需繁琐的安装步骤,解压缩后即可马上使用 10.C# 2.0开发,win 7以上直接运行,XP需要安装.net framework 2.0 助您不忘未来事,不丢过去事,点点滴滴记心头 :)