.net三層結(jié)構(gòu)初探分析第3/4頁(yè)
下面貼出相關(guān)代碼:
web.config
<appSettings>
<add key="ConnectionString" value="Provider=Microsoft.Jet.OleDb.4.0;Data Source=|DataDirectory|data.mdb" />
</appSettings>
DBUtility--PubConstant.cs(連接字符串)
using System;
using System.Configuration;
namespace MyCms.DBUtility
{
public class PubConstant
{
public static string ConnectionString
{
get
{
return ConfigurationSettings.AppSettings["ConnectionString"];
}
}
}
}
DBUtility--DbHelperOleDb.cs(數(shù)據(jù)基類SQL語(yǔ)句)
using System;
using System.Collections;
using System.Text;
using System.Data;
using System.Data.OleDb;
namespace MyCms.DBUtility
{
//數(shù)據(jù)訪問(wèn)基類(基于OleDb)
public partial class DbHelperOleDb
{
//數(shù)據(jù)庫(kù)連接字符串,在web.config中配置
public static string ConnectionString = PubConstant.ConnectionString;
public DbHelperOleDb()
{
}
/// <summary>
/// 執(zhí)行SQL語(yǔ)句,返回影響的記錄數(shù)
/// </summary>
/// <param name="strSql">SQL語(yǔ)句</param>
/// <returns>影響的記錄數(shù)</returns>
public static int ExecuteSql(string strSql)
{
using (OleDbConnection conn = new OleDbConnection(ConnectionString))
{
using (OleDbCommand cmd = new OleDbCommand(strSql, conn))
{
try
{
conn.Open();
return cmd.ExecuteNonQuery();
}
catch(OleDbException E)
{
conn.Close();
throw new Exception(E.Message);
}
}
}
}
/// <summary>
/// 執(zhí)行多條SQL語(yǔ)句,實(shí)現(xiàn)數(shù)據(jù)庫(kù)事務(wù)
/// </summary>
/// <param name="SqlStrList">多條SQL語(yǔ)句</param>
public static void ExecuteSqlTran(ArrayList SqlStrList)
{
using (OleDbConnection conn = new OleDbConnection(ConnectionString))
{
conn.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = conn;
OleDbTransaction tx = conn.BeginTransaction();
cmd.Transaction = tx;
try
{
for (int n = 0; n < SqlStrList.Count; n++)
{
string strSql = SqlStrList[n].ToString();
if (strSql.Trim().Length > 1)
{
cmd.CommandText = strSql;
cmd.ExecuteNonQuery();
}
}
tx.Commit();
}
catch (System.Data.OleDb.OleDbException E)
{
tx.Rollback();
throw new Exception(E.Message);
}
}
}
/// <summary>
/// 執(zhí)行帶一個(gè)存儲(chǔ)過(guò)程參數(shù)的SQL語(yǔ)句
/// </summary>
/// <param name="strSql">SQL語(yǔ)句</param>
/// <param name="content">參數(shù)內(nèi)容,比如一個(gè)字段是格式復(fù)雜的文章</param>
/// <returns>影響的記錄數(shù)</returns>
public static int ExecuteSinglePro(string strSql, string content)
{
using (OleDbConnection conn = new OleDbConnection(ConnectionString))
{
OleDbCommand cmd = new OleDbCommand(strSql, conn);
OleDbParameter myParameter = new OleDbParameter("@content",OleDbType.VarChar);
myParameter.Value = content;
cmd.Parameters.Add(myParameter);
try
{
conn.Open();
return cmd.ExecuteNonQuery();
}
catch (OleDbException E)
{
throw new Exception(E.Message);
}
finally
{
cmd.Dispose();
conn.Close();
}
}
}
/// <summary>
/// 執(zhí)行一條計(jì)算查詢結(jié)果語(yǔ)句,返回查詢結(jié)果
/// </summary>
/// <param name="strSql">SQL語(yǔ)句</param>
/// <returns>查詢結(jié)果</returns>
public static object GetSingle(string strSql)
{
using (OleDbConnection conn = new OleDbConnection(ConnectionString))
{
using (OleDbCommand cmd = new OleDbCommand(strSql, conn))
{
try
{
conn.Open();
object obj = cmd.ExecuteScalar();
if ((Equals(obj, null)) || Equals(obj, DBNull.Value))
{
return null;
}
else
{
return obj;
}
}
catch (OleDbException E)
{
conn.Close();
throw new Exception(E.Message);
}
}
}
}
/// <summary>
/// 返回OleDbDataReader
/// </summary>
/// <param name="strSql">查詢語(yǔ)句</param>
/// <returns>OleDbDataReader</returns>
public static OleDbDataReader ExecuteReader(string strSql)
{
OleDbDataReader dr = null;
using (OleDbConnection conn = new OleDbConnection(ConnectionString))
{
using(OleDbCommand cmd = new OleDbCommand(strSql,conn))
{
try
{
conn.Open();
cmd.CommandText = strSql;
cmd.CommandType = CommandType.Text;
dr = cmd.ExecuteReader();
}
catch
{
dr.Close();
conn.Close();
cmd.Dispose();
}
}
}
return dr;
}
/// <summary>
/// 執(zhí)行查詢語(yǔ)句,返回DataSet
/// </summary>
/// <param name="strSql">查詢語(yǔ)句</param>
/// <returns>DataSet</returns>
public static DataSet Query(string strSql)
{
using (OleDbConnection conn = new OleDbConnection(ConnectionString))
{
DataSet ds = new DataSet();
try
{
conn.Close();
OleDbDataAdapter da = new OleDbDataAdapter(strSql, conn);
da.Fill(ds, "ds");
}
catch (OleDbException E)
{
throw new Exception(E.Message);
}
return ds;
}
}
}
}
相關(guān)文章
ASP.Net 請(qǐng)求響應(yīng)流程簡(jiǎn)述
ASP.Net 請(qǐng)求響應(yīng)流程簡(jiǎn)述,需要的朋友可以參考下。2012-01-01asp.net使用WebAPI和EF框架結(jié)合實(shí)現(xiàn)數(shù)據(jù)的基本操作
這篇文章介紹了asp.net使用WebAPI和EF框架結(jié)合實(shí)現(xiàn)數(shù)據(jù)基本操作的案例,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04asp.net 數(shù)據(jù)庫(kù)連接類代碼(SQL)
asp.net數(shù)據(jù)庫(kù)連接類(SQL) 代碼,需要的朋友可以參考下。2010-03-03TreeView創(chuàng)建IHierarchicalDataSource類型的數(shù)據(jù)源實(shí)現(xiàn)
為TreeView創(chuàng)建IHierarchicalDataSource類型的數(shù)據(jù)源實(shí)現(xiàn)2009-01-01關(guān)于Asp.net頁(yè)面Page_Load被執(zhí)行兩次的問(wèn)題分享
這篇文章介紹了關(guān)于Asp.net頁(yè)面Page_Load被執(zhí)行兩次的問(wèn)題,有需要的朋友可以參考一下2013-09-09Ajax實(shí)現(xiàn)評(píng)論中頂和踩功能的實(shí)例代碼
這算是社團(tuán)布置的一個(gè)假期小作業(yè)吧,我只是提出我自己的解決方案,不一定是最合適的。2013-04-04ASP.NET2.0緩存(Cache)技術(shù)深入理解
緩存技術(shù)是ASP.NET2.0非常重要的一個(gè)特性,它提供了一種非常好的本地?cái)?shù)據(jù)緩存機(jī)制,從而有效的提高數(shù)據(jù)訪問(wèn)的性能2012-11-11