using System;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Collections;
using System.Collections.Generic;
using System.Web;
namespace zxy.SqlUtility
{
public abstract class MsSqlHelper
{
//数据库连接字符串
public static readonly string SqlCnStr = ConfigurationManager.ConnectionStrings["SqlCn"].ConnectionString;
//如果已经缓存
if (NeedCache && (HttpContext.Current.Cache[CacheName] != null))
return (DataSet)HttpRuntime.Cache[CacheName];
//创建一个SqlCommand对象,并对其进行初始化
SqlCommand cmd = new SqlCommand();
using (SqlConnection conn = new SqlConnection(connectionString))
{
PrepareCommand(cmd, conn, null, CommandType.Text, cmdText, commandParameters);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
try
{
da.Fill(ds);
cmd.Parameters.Clear();
if (NeedCache)
HttpContext.Current.Cache.Insert(CacheName, ds, null, DateTime.Now.AddMinutes(60), System.Web.Caching.Cache.NoSlidingExpiration);
return ds;
}
catch
{
conn.Close();
throw;
}
}
}
//数据访问层 Data Access Level
public abstract class Dal<T>
{
public delegate T CreateBoMethod(SqlDataReader rdr);
public static List<T> GetList(string cmdText, CreateBoMethod method)
{
SqlDataReader rdr = MsSqlHelper.ExecuteReader(cmdText);
List<T> result = new List<T>();
while (rdr.Read())
{
T Bo = method(rdr);
result.Add(Bo);
}
return result;
}
public static Dictionary<string, T> GetDictionary(string cmdText, CreateBoMethod method)
{
SqlDataReader rdr = MsSqlHelper.ExecuteReader(cmdText);
Dictionary<string, T> result = new Dictionary<string, T>();
while (rdr.Read())
{
T Bo = method(rdr);
string key = rdr["ZID"].ToString();
result.Add(key, Bo);
}
return result;
}
}
}
}
using System;
using System.Data;
using System.Configuration;
using System.Data.OleDb;
using System.Collections;
using System.Web;
using System.Collections.Generic;
namespace zxy.AccessUtility
{
public static class AccessHelper
{
//数据库连接字符串
public static readonly string SqlCnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
+ HttpContext.Current.Request.PhysicalApplicationPath
+ System.Configuration.ConfigurationManager.ConnectionStrings["AccessCn"].ConnectionString;
//开始事务
public static void BeginTran()
{
if (cn == null)
cn = new OleDbConnection(SqlCnStr);
if (cn.State != ConnectionState.Open)
cn.Open();
trans = cn.BeginTransaction();
}
public static void CommitTran()
{
trans.Commit();
cn.Close();
}
public static void RollbackTran()
{
trans.Rollback();
cn.Close();
}