《中文的sqlhelper详解》由会员分享,可在线阅读,更多相关《中文的sqlhelper详解(13页珍藏版)》请在金锄头文库上搜索。
1、 中文的 SqlHelper.cs 类 /这是在网上找的中文解释的 SqlHelperusing System;using System.Configuration;using System.Data;using System.Data.SqlClient;using System.Collections;namespace com.DataAccess/ / SqlHelper 类提供很高的数据访问性能 , / 使用 SqlClient 类的通用定义 ./ public abstract class SqlHelper/定义数据库连接串public static readonly strin
2、g ConnectionStringLocalTransaction = ConfigurationManager.ConnectionStringsTestConnectionString.ConnectionString;/public static readonly string ConnectionStringInventoryDistributedTransaction = ConfigurationManager.ConnectionStringsSQLConnString2.ConnectionString;/public static readonly string Conne
3、ctionStringOrderDistributedTransaction = ConfigurationManager.ConnectionStringsSQLConnString3.ConnectionString;/public static readonly string ConnectionStringProfile = ConfigurationManager.ConnectionStringsSQLProfileConnString.ConnectionString;/ 存贮 Cache 缓存的 Hashtable 集合private static Hashtable parm
4、Cache = Hashtable.Synchronized(new Hashtable();/ / 使用连接字符串,执行一个 SqlCommand 命令(没有记录返回)/ 使用提供的参数集./ / / 示例: / int result = ExecuteNonQuery(connString, CommandType.StoredProcedure, PublishOrders, new SqlParameter(prodid, 24);/ / 一个有效的 SqlConnection 连接串/ 命令类型CommandType(stored procedure, text, etc.)/ 存贮
5、过程名称或是一个 T-SQL 语句串/ 执行命令的参数集/ 受此命令影响的行数 public static int ExecuteNonQuery(string connectionString, CommandType cmdType, string cmdText, params SqlParameter commandParameters)SqlCommand cmd = new SqlCommand();using (SqlConnection conn = new SqlConnection(connectionString)PrepareCommand(cmd, conn, nul
6、l, cmdType, cmdText, commandParameters);int val = cmd.ExecuteNonQuery();cmd.Parameters.Clear();return val;/ / 在一个存在的连接上执行数据库的命令操作/ 使用提供的参数集./ / / e.g.: / int result = ExecuteNonQuery(connection, CommandType.StoredProcedure, PublishOrders, new SqlParameter(prodid, 24); / / 一个存在的数据库连接对象/ 命令类型CommandTy
7、pe (stored procedure, text, etc.)/ 存贮过程名称或是一个 T-SQL 语句串/ 执行命令的参数集/ 受此命令影响的行数public static int ExecuteNonQuery(SqlConnection connection, CommandTypecmdType, string cmdText, params SqlParameter commandParameters)SqlCommand cmd = new SqlCommand();PrepareCommand(cmd, connection, null, cmdType, cmdText,
8、commandParameters);int val = cmd.ExecuteNonQuery();cmd.Parameters.Clear();return val;/ / 在一个事务的连接上执行数据库的命令操作/ 使用提供的参数集. / / / e.g.: / int result = ExecuteNonQuery(trans, CommandType.StoredProcedure, PublishOrders, new SqlParameter(prodid, 24);/ / 一个存在的事务/ 命令类型CommandType (stored procedure, text, etc
9、.)/ 存贮过程名称或是一个 T-SQL 语句串/ 执行命令的参数集/ 受此命令影响的行数public static int ExecuteNonQuery(SqlTransaction trans, CommandType cmdType, string cmdText, params SqlParameter commandParameters)SqlCommand cmd = new SqlCommand();PrepareCommand(cmd, trans.Connection, trans, cmdType, cmdText, commandParameters);int val
10、= cmd.ExecuteNonQuery();cmd.Parameters.Clear();return val; / / 在一个连接串上执行一个命令,返回一个 SqlDataReader 对象/ 使用提供的参数./ / / e.g.: / SqlDataReader r = ExecuteReader(connString, CommandType.StoredProcedure, PublishOrders, new SqlParameter(prodid, 24);/ / 一个有效的 SqlConnection 连接串/ 命令类型CommandType(stored procedure
11、, text, etc.)/ 存贮过程名称或是一个 T-SQL 语句串/ 执行命令的参数集/ 一个结果集对象 SqlDataReaderpublic static SqlDataReader ExecuteReader(string connectionString, CommandType cmdType, string cmdText, params SqlParameter commandParameters)SqlCommand cmd = new SqlCommand();SqlConnection conn = new SqlConnection(connectionString)
12、;/ 如果不存在要查询的对象,则发生异常/ 连接要关闭 / CommandBehavior.CloseConnection 在异常时不发生作用tryPrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);cmd.Parameters.Clear();return rdr;catchconn.Close();throw;/ / 在一个连接串上执行一个命令,返回表中第一行,第一
13、列的值/ 使用提供的参数./ / / 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(st
14、ring connectionString, CommandType cmdType, string cmdText, params SqlParameter commandParameters)SqlCommand cmd = new SqlCommand();using (SqlConnection connection = new SqlConnection(connectionString)PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);object val = cmd.Execute
15、Scalar();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, CommandTypecmdType, string cmdText, params