Revision: 9363
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at November 2, 2008 02:08 by mn232nm
Initial Code
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Data.OleDb;
using System.Text;
namespace Web.DataAccess
{
public sealed class AccessHelperParameterCache
{
private AccessHelperParameterCache() { }
private static OleDbParameter[] CloneParameters(OleDbParameter[] originalParameters)
{
OleDbParameter[] cloneParameters = new OleDbParameter[originalParameters.Length];
for (int i = 0; i < cloneParameters.Length; i++)
{
cloneParameters[i] = (OleDbParameter)(((ICloneable)originalParameters[i]).Clone());
}
return cloneParameters;
}
private static Hashtable paramCache = Hashtable.Synchronized(new Hashtable());
public static void CacheParameterSet(string connectionString, string commandText, params OleDbParameter[] commandParameters)
{
if (null == connectionString || string.Empty == connectionString) throw new ArgumentNullException("connectionString");
if (null == commandText || string.Empty == commandText) throw new ArgumentNullException("commandText");
if (null == commandParameters || 0 == commandParameters.Length) throw new ArgumentNullException("commandParameters");
paramCache[connectionString + ":" + commandText] = CloneParameters(commandParameters);
}
public static OleDbParameter[] GetCacheParameterSet(string connectionString, string commandText)
{
if (null == connectionString || string.Empty == connectionString) throw new ArgumentNullException("connectionString");
if (null == commandText || string.Empty == commandText) throw new ArgumentNullException("commandText");
OleDbParameter[] cachedParameters = paramCache[connectionString + commandText] as OleDbParameter[];
if (null != cachedParameters)
{
CloneParameters(cachedParameters);
}
return null;
}
}
}
Initial URL
Initial Description
AccessHelperParameterCache
Initial Title
AccessHelperParameterCache
Initial Tags
data
Initial Language
C#