




已阅读5页,还剩49页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/ / SqlHelper类提供很高的数据访问性能 / 使用SqlClient类的通/ / SqlHelper类提供很高的数据访问性能, / 使用SqlClient类的通用定义. / public abstract class SQLHelper /存贮Cache缓存的Hashtable集合 private static Hashtable parmCache = Hashtable.Synchronized(new Hashtable(); / / 在缓存中添加参数数组 / / 参数的Key / 参数数组 public static void CacheParameters(string cacheKey, params SqlParameter commandParameters) parmCachecacheKey = commandParameters; / / 提取缓存的参数数组 / / 查找缓存的key / 返回被缓存的参数数组 public static SqlParameter GetCachedParameters(string cacheKey) SqlParameter cachedParms = (SqlParameter)parmCachecacheKey; if (cachedParms = null) return null; SqlParameter clonedParms = new SqlParametercachedParms.Length; for (int i = 0, j = cachedParms.Length; i j; i+) clonedParmsi = (SqlParameter)(ICloneable)cachedParmsi).Clone(); return clonedParms; / / 提供一个SqlCommand对象的设置 / / SqlCommand对象 / SqlConnection 对象 / SqlTransaction 对象 / CommandType 如存贮过程,T-SQL / 存贮过程名或查询串 / 命令中用到的参数集 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.CommandText = cmdText; if (trans != null) cmd.Transaction = trans; cmd.CommandType = cmdType; if (cmdParms != null) foreach (SqlParameter parm in cmdParms) cmd.Parameters.Add(parm); / / 使用连接字符串,执行一个SqlCommand命令(没有记录返回) / 使用提供的参数集. / / / int result = ExecuteNonQuery(connString, CommandType.StoredProcedure, PublishOrders, new SqlParameter(prodid, 24); / / 一个有效的SqlConnection连接串 / 存贮过程名称或是一个T-SQL语句串 / 受此命令影响的行数 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.ExecuteNonQuery(); cmd.Parameters.Clear(); return val; / / 使用连接字符串,执行一个SqlCommand命令(没有记录返回) / 使用提供的参数集. / / / int result = ExecuteNonQuery(connString, CommandType.StoredProcedure, PublishOrders, new SqlParameter(prodid, 24); / / 一个有效的SqlConnection连接串 / 存贮过程名称或是一个T-SQL语句串 / 执行命令的参数集 / 受此命令影响的行数 public static 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 = cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); return val; / / 使用连接字符串,执行一个SqlCommand命令(没有记录返回) / 使用提供的参数集. / / / int result = ExecuteNonQuery(connString, CommandType.StoredProcedure, PublishOrders, new SqlParameter(prodid, 24); / / 一个有效的SqlConnection连接串 / 命令类型CommandType(stored procedure, text, etc.) / 存贮过程名称或是一个T-SQL语句串 / 执行命令的参数集 / 受此命令影响的行数 public static int ExecuteNonQuery(string connectionString, CommandType cmdType, string SQLString, params SqlParameter commandParameters) SqlCommand cmd = new SqlCommand(); using (SqlConnection conn = new SqlConnection(connectionString) PrepareCommand(cmd, conn, null, cmdType, SQLString, commandParameters); int val = cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); return val; / / 在一个存在的连接上执行数据库的命令操作 / 使用提供的参数集. / / / int result = ExecuteNonQuery(connection, CommandType.StoredProcedure, PublishOrders, new SqlParameter(prodid, 24); / / 一个存在的数据库连接对象 / 命令类型CommandType (stored procedure, text, etc.) / 存贮过程名称或是一个T-SQL语句串 / 执行命令的参数集 / 受此命令影响的行数 public static int ExecuteNonQuery(SqlConnection connection, CommandType cmdType, string SQLString, params SqlParameter commandParameters) SqlCommand cmd = new SqlCommand(); PrepareCommand(cmd, connection, null, cmdType, SQLString, commandParameters); int val = cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); return val; / / 在一个连接串上执行一个命令,返回表中第一行,第一列的值 / 使用提供的参数. / / / Object obj = ExecuteScalar(connString, CommandType.StoredProcedure, PublishOrders, new SqlParameter(prodid, 24); / / 一个有效的SqlConnection连接串 / 存贮过程名称或是一个T-SQL语句串 / 返回的对象,在使用时记得类型转换 public static object ExecuteScalar(string connectionString, string SQLString) SqlCommand cmd = new SqlCommand(); using (SqlConnection connection = new SqlConnection(connectionString) PrepareCommand(cmd, connection, null, CommandType.Text, SQLString, null); object val = cmd.ExecuteScalar(); cmd.Parameters.Clear(); return val; / / 在一个连接串上执行一个命令,返回表中第一行,第一列的值 / 使用提供的参数. / / / Object obj = ExecuteScalar(connString, CommandType.StoredProcedure, PublishOrders, new SqlParameter(prodid, 24); / / 一个有效的SqlConnection连接串 / 存贮过程名称或是一个T-SQL语句串 / 执行命令的参数集 / 返回的对象,在使用时记得类型转换 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, CommandType.Text, SQLString, commandParameters); object val = cmd.ExecuteScalar(); cmd.Parameters.Clear(); return val; / / 在一个连接串上执行一个命令,返回表中第一行,第一列的值 / 使用提供的参数. / / / Object obj = ExecuteScalar(connString, CommandType.StoredProcedure, PublishOrders, new SqlParameter(prodid, 24); / / 一个有效的SqlConnection连接串 / 命令类型CommandType(stored procedure, text, etc.) / 存贮过程名称或是一个T-SQL语句串 / 执行命令的参数集 / 返回的对象,在使用时记得类型转换 public static object ExecuteScalar(string connectionString, CommandType cmdType, string SQLString, params SqlParameter commandParameters) SqlCommand 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; / / 在一个连接上执行一个命令,返回表中第一行,第一列的值 / 使用提供的参数. / / / e.g.: / Object obj = ExecuteScalar(connString, CommandType.StoredProcedure, PublishOrders, new SqlParameter(prodid, 24); / / 一个有效的SqlConnection连接 / 命令类型CommandType(stored procedure, text, etc.) / 存贮过程名称或是一个T-SQL语句串 / 执行命令的参数集 / 返回的对象,在使用时记得类型转换 public static 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(); return val; / / 在一个事务的连接上执行数据库的命令操作 / 使用提供的参数集. / / / int result = ExecuteNonQuery(trans, CommandType.StoredProcedure, PublishOrders, new SqlParameter(prodid, 24); / / 一个存在的事务 / 命令类型CommandType (stored procedure, text, etc.) / 存贮过程名称或是一个T-SQL语句串 / 受此命令影响的行数 public static int ExecuteNonQuery(SqlTransaction trans, string SQLString) SqlCommand cmd = new SqlCommand(); PrepareCommand(cmd, trans.Connection, trans, CommandType.Text, SQLString, null); int val = cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); return val; / / 在一个事务的连接上执行数据库的命令操作 / 使用提供的参数集. / / / int result = ExecuteNonQuery(trans, CommandType.StoredProcedure, PublishOrders, new SqlParameter(prodid, 24); / / 一个存在的事务 / 命令类型CommandType (stored procedure, text, etc.) / 存贮过程名称或是一个T-SQL语句串 / 执行命令的参数集 / 受此命令影响的行数 public static int ExecuteNonQuery(SqlTransaction trans, string SQLString, params SqlParameter commandParameters) SqlCommand cmd = new SqlCommand(); PrepareCommand(cmd, trans.Connection, trans, CommandType.Text, SQLString, commandParameters); int val = cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); return val; / / 在一个事务的连接上执行数据库的命令操作 / 使用提供的参数集. / / / int result = ExecuteNonQuery(trans, CommandType.StoredProcedure, PublishOrders, new SqlParameter(prodid, 24); / / 一个存在的事务 / 命令类型CommandType (stored procedure, text, etc.) / 存贮过程名称或是一个T-SQL语句串 / 执行命令的参数集 / 受此命令影响的行数 public static int ExecuteNonQuery(SqlTransaction trans, CommandType cmdType, string SQLString, params SqlParameter commandParameters) SqlCommand cmd = new SqlCommand(); PrepareCommand(cmd, trans.Connection, trans, cmdType, SQLString, commandParameters); int val = cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); return val; / / 在一个连接串上执行一个命令,返回一个SqlDataReader对象 / 使用提供的参数. / / / SqlDataReader r = ExecuteReader(connString, CommandType.StoredProcedure, PublishOrders, new SqlParameter(prodid, 24); / / 一个有效的SqlConnection连接串 / 存贮过程名称或是一个T-SQL语句串 / 一个结果集对象SqlDataReader public static SqlDataReader ExecuteReader(string connectionString, string SQLString) SqlCommand cmd = new SqlCommand(); SqlConnection conn = new SqlConnection(connectionString); / 如果不存在要查询的对象,则发生异常 / 连接要关闭 / 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; / / 在一个连接串上执行一个命令,返回一个SqlDataReader对象 / 使用提供的参数. / / / SqlDataReader r = ExecuteReader(connString, CommandType.StoredProcedure, PublishOrders, new SqlParameter(prodid, 24); / / 一个有效的SqlConnection连接串 / 存贮过程名称或是一个T-SQL语句串 / 执行命令的参数集 / 一个结果集对象SqlDataReader public static SqlDataReader ExecuteReader(string connectionString, string SQLString, params SqlParameter commandParameters) SqlCommand cmd = new SqlCommand(); SqlConnection conn = new SqlConnection(connectionString); / 如果不存在要查询的对象,则发生异常 / 连接要关闭 / CommandBehavior.CloseConnection在异常时不发生作用 try PrepareCommand(cmd, conn, null, CommandType.Text, SQLString, commandParameters); SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection); cmd.Parameters.Clear(); return rdr; catch conn.Close(); throw; / / 在一个连接串上执行一个命令,返回一个SqlDataReader对象 / 使用提供的参数. / / / SqlDataReader r = ExecuteReader(connString, CommandType.StoredProcedure, PublishOrders, new SqlParameter(prodid, 24); / / 一个有效的SqlConnection连接串 / 命令类型CommandType(stored procedure, text, etc.) / 存贮过程名称或是一个T-SQL语句串 / 执行命令的参数集 / 一个结果集对象SqlDataReader public static SqlDataReader ExecuteReader(string connectionString, CommandType cmdType, string SQLString, params SqlParameter commandParameters) SqlCommand cmd = new SqlCommand(); SqlConnection conn = new SqlConnection(connectionString); / 如果不存在要查询的对象,则发生异常 / 连接要关闭 / CommandBehavior.CloseConnection在异常
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高考政治课件
- mto技能考试及答案
- 电缆发展专业知识培训课件
- 4、施工工作报告√
- 新解读《GB-T 32151.12-2018温室气体排放核算与报告要求 第12部分- 纺织服装企业》
- 本科正式考试试题题库及答案
- 电焊日常知识培训课件
- Pacidamycin-4-生命科学试剂-MCE
- Acetylcarnitine-Standard-生命科学试剂-MCE
- Myristyl-nicotinate-Standard-生命科学试剂-MCE
- DL∕T 1100.1-2018 电力系统的时间同步系统 第1部分:技术规范
- 高中语文人教版高一必修《李白将进酒》教育教学课件
- 设备购销合同详细范本
- 加装电梯补偿协议书范文模板
- 远古帝王世系表
- 国家基层糖尿病神经病变诊治指南(2024版)
- 人体常见病 知到智慧树网课答案
- 2024骨髓移植患者营养治疗专家共识(全文)
- HGT 3652-1999(2009) 快装管接头标准规范
- 如何正确使用和佩戴劳动防护用品培训课件
- (高清版)DZT 0017-2023 工程地质钻探规程
评论
0/150
提交评论