版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、/ <summary> / SqlHelper类提供很高的数据访问性能 / 使用SqlClient类的通/ <summary> / SqlHelper类提供很高的数据访问性能, / 使用SqlClient类的通用定义. / </summary> public abstract class SQLHelper /存贮Cache缓存的Hashtable集合 private static Hashtable parmCache = Hashtable.Synchronized(new Hashtable(); / <summary> / 在缓存中添加参
2、数数组 / </summary> / <param name="cacheKey">参数的Key</param> / <param name="cmdParms">参数数组</param> public static void CacheParameters(string cacheKey, params SqlParameter commandParameters) parmCachecacheKey = commandParameters; / <summary> / 提取缓存的
3、参数数组 / </summary> / <param name="cacheKey">查找缓存的key</param> / <returns>返回被缓存的参数数组</returns> public static SqlParameter GetCachedParameters(string cacheKey) SqlParameter cachedParms = (SqlParameter)parmCachecacheKey; if (cachedParms = null) return null; SqlPara
4、meter clonedParms = new SqlParametercachedParms.Length; for (int i = 0, j = cachedParms.Length; i < j; i+) clonedParmsi = (SqlParameter)(ICloneable)cachedParmsi).Clone(); return clonedParms; / <summary> / 提供一个SqlCommand对象的设置 / </summary> / <param name="cmd">SqlCommand对
5、象</param> / <param name="conn">SqlConnection 对象</param> / <param name="trans">SqlTransaction 对象</param> / <param name="cmdType">CommandType 如存贮过程,T-SQL</param> / <param name="cmdText">存贮过程名或查询串</param> / &l
6、t;param name="cmdParms">命令中用到的参数集</param> private static void PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, CommandType cmdType, string cmdText, SqlParameter cmdParms) if (conn.State != ConnectionState.Open) conn.Open(); cmd.Connection = conn; cmd.Comman
7、dText = cmdText; if (trans != null) cmd.Transaction = trans; cmd.CommandType = cmdType; if (cmdParms != null) foreach (SqlParameter parm in cmdParms) cmd.Parameters.Add(parm); / <summary> / 使用连接字符串,执行一个SqlCommand命令(没有记录返回) / 使用提供的参数集. / </summary> / <remarks> / int result = Execute
8、NonQuery(connString, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("prodid", 24); / </remarks> / <param name="connectionString">一个有效的SqlConnection连接串</param> / <param name="SQLString">存贮过程名称或是一个T-SQL语句串</param> /
9、<returns>受此命令影响的行数</returns> public static int ExecuteNonQuery(string connectionString, string SQLString) SqlCommand cmd = new SqlCommand(); using (SqlConnection conn = new SqlConnection(connectionString) PrepareCommand(cmd, conn, null, CommandType.Text, SQLString, null); int val = cmd.E
10、xecuteNonQuery(); cmd.Parameters.Clear(); return val; / <summary> / 使用连接字符串,执行一个SqlCommand命令(没有记录返回) / 使用提供的参数集. / </summary> / <remarks> / int result = ExecuteNonQuery(connString, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("prodid", 24); / &
11、lt;/remarks> / <param name="connectionString">一个有效的SqlConnection连接串</param> / <param name="SQLString">存贮过程名称或是一个T-SQL语句串</param> / <param name="commandParameters">执行命令的参数集</param> / <returns>受此命令影响的行数</returns> public s
12、tatic int ExecuteNonQuery(string connectionString, string SQLString, params SqlParameter commandParameters) SqlCommand cmd = new SqlCommand(); using (SqlConnection conn = new SqlConnection(connectionString) PrepareCommand(cmd, conn, null, CommandType.Text, SQLString, commandParameters); int val = cm
13、d.ExecuteNonQuery(); cmd.Parameters.Clear(); return val; / <summary> / 使用连接字符串,执行一个SqlCommand命令(没有记录返回) / 使用提供的参数集. / </summary> / <remarks> / int result = ExecuteNonQuery(connString, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("prodid", 24);
14、/ </remarks> / <param name="connectionString">一个有效的SqlConnection连接串</param> / <param name="commandType">命令类型CommandType(stored procedure, text, etc.)</param> / <param name="SQLString">存贮过程名称或是一个T-SQL语句串</param> / <param name=
15、"commandParameters">执行命令的参数集</param> / <returns>受此命令影响的行数</returns> public static int ExecuteNonQuery(string connectionString, CommandType cmdType, string SQLString, params SqlParameter commandParameters) SqlCommand cmd = new SqlCommand(); using (SqlConnection conn = n
16、ew SqlConnection(connectionString) PrepareCommand(cmd, conn, null, cmdType, SQLString, commandParameters); int val = cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); return val; / <summary> / 在一个存在的连接上执行数据库的命令操作 / 使用提供的参数集. / </summary> / <remarks> / int result = ExecuteNonQuery(conn
17、ection, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("prodid", 24); / </remarks> / <param name="conn">一个存在的数据库连接对象</param> / <param name="commandType">命令类型CommandType (stored procedure, text, etc.)</param> / <
18、param name="SQLString">存贮过程名称或是一个T-SQL语句串</param> / <param name="commandParameters">执行命令的参数集</param> / <returns>受此命令影响的行数</returns> public static int ExecuteNonQuery(SqlConnection connection, CommandType cmdType, string SQLString, params SqlParame
19、ter commandParameters) SqlCommand cmd = new SqlCommand(); PrepareCommand(cmd, connection, null, cmdType, SQLString, commandParameters); int val = cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); return val; / <summary> / 在一个连接串上执行一个命令,返回表中第一行,第一列的值 / 使用提供的参数. / </summary> / <remarks>
20、 / Object obj = ExecuteScalar(connString, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("prodid", 24); / </remarks> / <param name="connectionString">一个有效的SqlConnection连接串</param> / <param name="SQLString">存贮过程名称或是一个T-SQ
21、L语句串</param> / <returns>返回的对象,在使用时记得类型转换</returns> public static object ExecuteScalar(string connectionString, string SQLString) SqlCommand cmd = new SqlCommand(); using (SqlConnection connection = new SqlConnection(connectionString) PrepareCommand(cmd, connection, null, CommandTyp
22、e.Text, SQLString, null); object val = cmd.ExecuteScalar(); cmd.Parameters.Clear(); return val; / <summary> / 在一个连接串上执行一个命令,返回表中第一行,第一列的值 / 使用提供的参数. / </summary> / <remarks> / Object obj = ExecuteScalar(connString, CommandType.StoredProcedure, "PublishOrders", new SqlPara
23、meter("prodid", 24); / </remarks> / <param name="connectionString">一个有效的SqlConnection连接串</param> / <param name="SQLString">存贮过程名称或是一个T-SQL语句串</param> / <param name="commandParameters">执行命令的参数集</param> / <returns>
24、返回的对象,在使用时记得类型转换</returns> public static object ExecuteScalar(string connectionString, string SQLString, params SqlParameter commandParameters) SqlCommand cmd = new SqlCommand(); using (SqlConnection connection = new SqlConnection(connectionString) PrepareCommand(cmd, connection, null, Command
25、Type.Text, SQLString, commandParameters); object val = cmd.ExecuteScalar(); cmd.Parameters.Clear(); return val; / <summary> / 在一个连接串上执行一个命令,返回表中第一行,第一列的值 / 使用提供的参数. / </summary> / <remarks> / Object obj = ExecuteScalar(connString, CommandType.StoredProcedure, "PublishOrders&qu
26、ot;, new SqlParameter("prodid", 24); / </remarks> / <param name="connectionString">一个有效的SqlConnection连接串</param> / <param name="commandType">命令类型CommandType(stored procedure, text, etc.)</param> / <param name="SQLString">存贮过
27、程名称或是一个T-SQL语句串</param> / <param name="commandParameters">执行命令的参数集</param> / <returns>返回的对象,在使用时记得类型转换</returns> public static object ExecuteScalar(string connectionString, CommandType cmdType, string SQLString, params SqlParameter commandParameters) SqlComman
28、d cmd = new SqlCommand(); using (SqlConnection connection = new SqlConnection(connectionString) PrepareCommand(cmd, connection, null, cmdType, SQLString, commandParameters); object val = cmd.ExecuteScalar(); cmd.Parameters.Clear(); return val; / <summary> / 在一个连接上执行一个命令,返回表中第一行,第一列的值 / 使用提供的参数
29、. / </summary> / <remarks> / e.g.: / Object obj = ExecuteScalar(connString, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("prodid", 24); / </remarks> / <param name="connectionString">一个有效的SqlConnection连接</param> / <param
30、 name="commandType">命令类型CommandType(stored procedure, text, etc.)</param> / <param name="SQLString">存贮过程名称或是一个T-SQL语句串</param> / <param name="commandParameters">执行命令的参数集</param> / <returns>返回的对象,在使用时记得类型转换</returns> public st
31、atic object ExecuteScalar(SqlConnection connection, CommandType cmdType, string SQLString, params SqlParameter commandParameters) SqlCommand cmd = new SqlCommand(); PrepareCommand(cmd, connection, null, cmdType, SQLString, commandParameters); object val = cmd.ExecuteScalar(); cmd.Parameters.Clear();
32、 return val; / <summary> / 在一个事务的连接上执行数据库的命令操作 / 使用提供的参数集. / </summary> / <remarks> / int result = ExecuteNonQuery(trans, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("prodid", 24); / </remarks> / <param name="trans">一个存在的
33、事务</param> / <param name="commandType">命令类型CommandType (stored procedure, text, etc.)</param> / <param name="SQLString">存贮过程名称或是一个T-SQL语句串</param> / <returns>受此命令影响的行数</returns> public static int ExecuteNonQuery(SqlTransaction trans, stri
34、ng SQLString) SqlCommand cmd = new SqlCommand(); PrepareCommand(cmd, trans.Connection, trans, CommandType.Text, SQLString, null); int val = cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); return val; / <summary> / 在一个事务的连接上执行数据库的命令操作 / 使用提供的参数集. / </summary> / <remarks> / int result
35、 = ExecuteNonQuery(trans, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("prodid", 24); / </remarks> / <param name="trans">一个存在的事务</param> / <param name="commandType">命令类型CommandType (stored procedure, text, etc.)</pa
36、ram> / <param name="SQLString">存贮过程名称或是一个T-SQL语句串</param> / <param name="commandParameters">执行命令的参数集</param> / <returns>受此命令影响的行数</returns> public static int ExecuteNonQuery(SqlTransaction trans, string SQLString, params SqlParameter command
37、Parameters) SqlCommand cmd = new SqlCommand(); PrepareCommand(cmd, trans.Connection, trans, CommandType.Text, SQLString, commandParameters); int val = cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); return val; / <summary> / 在一个事务的连接上执行数据库的命令操作 / 使用提供的参数集. / </summary> / <remarks> /
38、 int result = ExecuteNonQuery(trans, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("prodid", 24); / </remarks> / <param name="trans">一个存在的事务</param> / <param name="commandType">命令类型CommandType (stored procedure, text, e
39、tc.)</param> / <param name="SQLString">存贮过程名称或是一个T-SQL语句串</param> / <param name="commandParameters">执行命令的参数集</param> / <returns>受此命令影响的行数</returns> public static int ExecuteNonQuery(SqlTransaction trans, CommandType cmdType, string SQLStr
40、ing, params SqlParameter commandParameters) SqlCommand cmd = new SqlCommand(); PrepareCommand(cmd, trans.Connection, trans, cmdType, SQLString, commandParameters); int val = cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); return val; / <summary> / 在一个连接串上执行一个命令,返回一个SqlDataReader对象 / 使用提供的参数. /
41、</summary> / <remarks> / SqlDataReader r = ExecuteReader(connString, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("prodid", 24); / </remarks> / <param name="connectionString">一个有效的SqlConnection连接串</param> / <param name=
42、"SQLString">存贮过程名称或是一个T-SQL语句串</param> / <returns>一个结果集对象SqlDataReader</returns> public static SqlDataReader ExecuteReader(string connectionString, string SQLString) SqlCommand cmd = new SqlCommand(); SqlConnection conn = new SqlConnection(connectionString); / 如果不存在要查询
43、的对象,则发生异常 / 连接要关闭 / CommandBehavior.CloseConnection在异常时不发生作用 try PrepareCommand(cmd, conn, null, CommandType.Text, SQLString, null); SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection); cmd.Parameters.Clear(); return rdr; catch conn.Close(); throw; / <summary> / 在一个连接串上执行一个命
44、令,返回一个SqlDataReader对象 / 使用提供的参数. / </summary> / <remarks> / SqlDataReader r = ExecuteReader(connString, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("prodid", 24); / </remarks> / <param name="connectionString">一个有效的SqlConnection
45、连接串</param> / <param name="SQLString">存贮过程名称或是一个T-SQL语句串</param> / <param name="commandParameters">执行命令的参数集</param> / <returns>一个结果集对象SqlDataReader</returns> public static SqlDataReader ExecuteReader(string connectionString, string SQLStr
46、ing, params SqlParameter commandParameters) SqlCommand cmd = new SqlCommand(); SqlConnection conn = new SqlConnection(connectionString); / 如果不存在要查询的对象,则发生异常 / 连接要关闭 / CommandBehavior.CloseConnection在异常时不发生作用 try PrepareCommand(cmd, conn, null, CommandType.Text, SQLString, commandParameters); SqlData
47、Reader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection); cmd.Parameters.Clear(); return rdr; catch conn.Close(); throw; / <summary> / 在一个连接串上执行一个命令,返回一个SqlDataReader对象 / 使用提供的参数. / </summary> / <remarks> / SqlDataReader r = ExecuteReader(connString, CommandType.StoredProced
48、ure, "PublishOrders", new SqlParameter("prodid", 24); / </remarks> / <param name="connectionString">一个有效的SqlConnection连接串</param> / <param name="commandType">命令类型CommandType(stored procedure, text, etc.)</param> / <param name="SQLString">存贮过程名称或是一个T-SQL语句串</param> / <param name="commandParameters">执行命令的参数集</param> / <returns>一个结果集对象SqlDataReader</returns> public static SqlDataReader ExecuteReader(string conn
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房屋集资转让协议书
- 房源房屋出售协议书
- 房租拆改合同协议书
- 房租销售佣金协议书
- 手术证明协议书范本
- 手机抵押协议书模板
- 扑杀补助协议书范本
- 打印租赁房屋协议书
- 打更免责协议书范本
- 打火机销售合同范本
- 施工班组退场协议书
- 人武部2025年终总结样本(3篇)
- 山西省旅游资源
- 《西游记》课件教学课件
- 中小学生证素教育趣味歌诀集锦
- 2026招商银行杭州分行校园招聘笔试考试参考题库及答案解析
- 2025版高中英语新课标3100词新增词汇清单
- 包裹性脓胸的护理
- 2025四川省农业融资担保有限公司(雅安)招聘1人笔试历年备考题库附带答案详解2套试卷
- 2025河南交投颐康投资发展有限公司招聘笔试参考题库必考题
- 重庆市建筑工程施工图设计文件编制技术规定(2024年版)
评论
0/150
提交评论