中文的SqlHelper详解.doc_第1页
中文的SqlHelper详解.doc_第2页
中文的SqlHelper详解.doc_第3页
中文的SqlHelper详解.doc_第4页
中文的SqlHelper详解.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中文的SqlHelper.cs类 /这是在网上找的中文解释的SqlHelperusingSystem;usingSystem.Configuration;usingSystem.Data;usingSystem.Data.SqlClient;usingSystem.Collections;namespacecom.DataAccess/SqlHelper类提供很高的数据访问性能,/使用SqlClient类的通用定义./publicabstractclassSqlHelper/定义数据库连接串publicstaticreadonlystringConnectionStringLocalTransaction=ConfigurationManager.ConnectionStringsTestConnectionString.ConnectionString;/publicstaticreadonlystringConnectionStringInventoryDistributedTransaction=ConfigurationManager.ConnectionStringsSQLConnString2.ConnectionString;/publicstaticreadonlystringConnectionStringOrderDistributedTransaction=ConfigurationManager.ConnectionStringsSQLConnString3.ConnectionString;/publicstaticreadonlystringConnectionStringProfile=ConfigurationManager.ConnectionStringsSQLProfileConnString.ConnectionString;/存贮Cache缓存的Hashtable集合privatestaticHashtableparmCache=Hashtable.Synchronized(newHashtable();/使用连接字符串,执行一个SqlCommand命令(没有记录返回)/使用提供的参数集./示例:/intresult=ExecuteNonQuery(connString,CommandType.StoredProcedure,PublishOrders,newSqlParameter(prodid,24);/一个有效的SqlConnection连接串/命令类型CommandType(storedprocedure,text,etc.)/存贮过程名称或是一个T-SQL语句串/执行命令的参数集/受此命令影响的行数publicstaticintExecuteNonQuery(stringconnectionString,CommandTypecmdType,stringcmdText,paramsSqlParametercommandParameters)SqlCommandcmd=newSqlCommand();using(SqlConnectionconn=newSqlConnection(connectionString)PrepareCommand(cmd,conn,null,cmdType,cmdText,commandParameters);intval=cmd.ExecuteNonQuery();cmd.Parameters.Clear();returnval;/在一个存在的连接上执行数据库的命令操作/使用提供的参数集./e.g.:/intresult=ExecuteNonQuery(connection,CommandType.StoredProcedure,PublishOrders,newSqlParameter(prodid,24);/一个存在的数据库连接对象/命令类型CommandType(storedprocedure,text,etc.)/存贮过程名称或是一个T-SQL语句串/执行命令的参数集/受此命令影响的行数publicstaticintExecuteNonQuery(SqlConnectionconnection,CommandTypecmdType,stringcmdText,paramsSqlParametercommandParameters)SqlCommandcmd=newSqlCommand();PrepareCommand(cmd,connection,null,cmdType,cmdText,commandParameters);intval=cmd.ExecuteNonQuery();cmd.Parameters.Clear();returnval;/在一个事务的连接上执行数据库的命令操作/使用提供的参数集./e.g.:/intresult=ExecuteNonQuery(trans,CommandType.StoredProcedure,PublishOrders,newSqlParameter(prodid,24);/一个存在的事务/命令类型CommandType(storedprocedure,text,etc.)/存贮过程名称或是一个T-SQL语句串/执行命令的参数集/受此命令影响的行数publicstaticintExecuteNonQuery(SqlTransactiontrans,CommandTypecmdType,stringcmdText,paramsSqlParametercommandParameters)SqlCommandcmd=newSqlCommand();PrepareCommand(cmd,trans.Connection,trans,cmdType,cmdText,commandParameters);intval=cmd.ExecuteNonQuery();cmd.Parameters.Clear();returnval;/在一个连接串上执行一个命令,返回一个SqlDataReader对象/使用提供的参数./e.g.:/SqlDataReaderr=ExecuteReader(connString,CommandType.StoredProcedure,PublishOrders,newSqlParameter(prodid,24);/一个有效的SqlConnection连接串/命令类型CommandType(storedprocedure,text,etc.)/存贮过程名称或是一个T-SQL语句串/执行命令的参数集/一个结果集对象SqlDataReaderpublicstaticSqlDataReaderExecuteReader(stringconnectionString,CommandTypecmdType,stringcmdText,paramsSqlParametercommandParameters)SqlCommandcmd=newSqlCommand();SqlConnectionconn=newSqlConnection(connectionString);/如果不存在要查询的对象,则发生异常/连接要关闭/CommandBehavior.CloseConnection在异常时不发生作用tryPrepareCommand(cmd,conn,null,cmdType,cmdText,commandParameters);SqlDataReaderrdr=cmd.ExecuteReader(CommandBehavior.CloseConnection);cmd.Parameters.Clear();returnrdr;catchconn.Close();throw;/在一个连接串上执行一个命令,返回表中第一行,第一列的值/使用提供的参数./e.g.:/Objectobj=ExecuteScalar(connString,CommandType.StoredProcedure,PublishOrders,newSqlParameter(prodid,24);/一个有效的SqlConnection连接串/命令类型CommandType(storedprocedure,text,etc.)/存贮过程名称或是一个T-SQL语句串/执行命令的参数集/返回的对象,在使用时记得类型转换publicstaticobjectExecuteScalar(stringconnectionString,CommandTypecmdType,stringcmdText,paramsSqlParametercommandParameters)SqlCommandcmd=newSqlCommand();using(SqlConnectionconnection=newSqlConnection(connectionString)PrepareCommand(cmd,connection,null,cmdType,cmdText,commandParameters);objectval=cmd.ExecuteScalar();cmd.Parameters.Clear();returnval;/在一个连接上执行一个命令,返回表中第一行,第一列的值/使用提供的参数./e.g.:/Objectobj=ExecuteScalar(connString,CommandType.StoredProcedure,PublishOrders,newSqlParameter(prodid,24);/一个有效的SqlConnection连接/命令类型CommandType(storedprocedure,text,etc.)/存贮过程名称或是一个T-SQL语句串/执行命令的参数集/返回的对象,在使用时记得类型转换publicstaticobjectExecuteScalar(SqlConnectionconnection,CommandTypecmdType,stringcmdText,paramsSqlParametercommandParameters)SqlCommandcmd=newSqlCommand();PrepareCommand(cmd,connection,null,cmdType,cmdText,commandParameters);objectval=cmd.ExecuteScalar();cmd.Parameters.Clear();returnval;/在缓存中添加参数数组/参数的Key/参数数组publicstaticvoidCacheParameters(stringcacheKey,paramsSqlParametercommandParameters)parmCachecacheKey=commandParameters;/提取缓存的参数数组/查找缓存的key/返回被缓存的参数数组publicstaticSqlParameterGetCachedParameters(stringcacheKey)SqlParametercachedParms=(SqlParameter)parmCachecacheKey;if(cachedParms=null)returnnull;SqlParameterclonedParms=newSqlParametercachedParms.Length;for(inti=0,j=cachedParms.Length;ij;i+)clonedParmsi=(SqlParameter)(ICloneable)cachedParmsi).Clone();returnclonedParms;/提供一个SqlCommand对象的设置/SqlCommand对象/SqlConnection对象/SqlTransaction对象/CommandType如存贮过程,T-SQL/存贮过程名或查询串/命令中用到的参数集privatestaticvoidPrepareCommand(SqlCommandcmd,SqlConnectionconn,SqlTransactiontrans,CommandTypecmdTy

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论