日期:2011-07-03 浏览次数:20376 次
//Copyright(C) 2000-2006 Shixin Corporation
//All rights reserverd
//文件名: SQLHelper.cs
//创建者:
//创建日期: 2006-03-21
//概述: DataAccess层的数据访问Helper文件,模仿自Microsoft DAAB1.0。
//修改人/修改日期:
//开放STR_CONNECTION连接字符串,因为SqlConnection是非托管资源,无法自动回收。
using System;
using System.Data;
using System.Xml;
using System.Data.SqlClient;
using System.Collections;
using System.Configuration;
using System.Collections.Specialized;
using SPS.Common;
namespace SPS.DataAccess
{
/**//// <summary>
/// SQLHelper 被DataAccess里的任何类调用,执行Insert,Update,SetValid和Select等组成的存储过程
/// </summary>
public class SqlHelper
{
//缓存SqlParameter数组对象的Hashtable
private static Hashtable paramCache = Hashtable.Synchronized(new Hashtable());
//连接字符串
public static string STR_CONNECTION;
//SqlConnection
//private static SqlConnection conn;
"Public Functions"#region "Public Functions"
/**//// <summary>
/// 获取SqlConnection
/// </summary>
/// <remark>
/// 因为SqlConnection不是托管资源,所以在这里无法回收,所以在这里屏蔽掉
/// </remark>
/// <returns>SqlConnection对象</returns>
// public static SqlConnection GetConnection()
// {
// if(conn==null)
// conn=new SqlConnection(STR_CONNECTION);
// return conn;
// }
/**//// <summary>
/// 执行XXXInsert,XXXUpdate,XXXSetValid类型的存储过程
/// </summary>
/// <remarks>
/// 参数Hashtable里的Key名需要和存储过程里的参数名保持一致;
/// 存储过程的参数全部要在Hashtable中存在;
/// </remarks>
/// <param name="hashtable">由存储过程参数组成的Hashtable</param>
/// <param name="strSPName">存储过程名称</param>
/// <returns>Insert情况的PKID、或Update、SetValid情况的改变记录数</returns>
public static int ModifyTable(Hashtable hashtable,string strSPName)
{
//获取SQL连接
//SqlConnection conn=GetConnection();
using(SqlConnection conn=new SqlConnection(STR_CONNECTION))
{