ShoppingPlatForm-----的数据库层
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<appSettings>
<add key="XmlPath" value="XmlCount.xml"></add>
</appSettings>
<connectionStrings>
<add name="shopConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\work\database\shop.mdb"
providerName="System.Data.OleDb" />
<system.web>
二:OleBase.cs 类
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;
/// <summary>
/// OleBase 的摘要说明
/// </summary>
public class OleBase
{
protected static string m_StrConnection = ConfigurationManager.ConnectionStrings["shopConnectionString"].ToString();
public OleBase()
{
}
/// <summary>
/// 执行不返回数据集的SQL语句
/// </summary>
/// <param name="p_StrSql"></param>
/// <returns></returns>
public static int ExecuteSql(string p_StrSql)
{
OleDbConnection MyConnection = new OleDbConnection(m_StrConnection);
OleDbCommand MyCmd = new OleDbCommand(p_StrSql, MyConnection);
try
{
MyConnection.Open();
MyCmd.ExecuteNonQuery();
return 0;
}
catch (OleDbException e)
{
throw new Exception(e.Message);
}
finally
{
MyCmd.Dispose();
MyConnection.Close();
}
}//end ExecuteSql
/// <summary>
/// 执行SQL语句,判读是否返回数据:不返回数据则抛出"Valule Unavailable!"异常
/// </summary>
/// <param name="p_StrSql"></param>
/// <returns></returns>
public static int ExecuteSqlEx(string p_StrSql)
{
OleDbConnection MyConnection = new OleDbConnection(m_StrConnection);
OleDbCommand MyCmd = new OleDbCommand(p_StrSql, MyConnection);
try
{
MyConnection.Open();
OleDbDataReader MyReader = MyCmd.ExecuteReader();
if (MyReader.Read())
{
return 0;
}
else
{
throw new Exception("Valule Unavailable!");
}
}
catch (OleDbException e)
{
throw new Exception(e.Message);
}
finally
{
MyCmd.Dispose();
MyConnection.Close();
}
}//end ExecuteSqlEx
/// <summary>
/// 执行SQL语句,并返回数据集
/// </summary>
/// <param name="p_StrSql"></param>
/// <returns></returns>
public static DataSet ExecuteSql4Ds(string p_StrSql)
{
OleDbConnection MyConnection = new OleDbConnection(m_StrConnection);
OleDbCommand MyCmd = new OleDbCommand(p_StrSql, MyConnection);
try
{
MyConnection.Open();
OleDbDataAdapter Sda = new OleDbDataAdapter(p_StrSql, MyConnection);
DataSet Ds = new DataSet("ds");
Sda.Fill(Ds);
return Ds;
}
catch (OleDbException e)
{
throw new Exception(e.Message);
}
finally
{
MyConnection.Close();
}
}//end ExecuteSql4Ds
/// <summary>
/// 执行仅返回一个数字值结果的SQL语句
/// </summary>
/// <param name="p_StrSql"></param>
/// <returns></returns>
public static int ExecuteSql4Value(string p_StrSql)
{
OleDbConnection MyConnection = new OleDbConnection(m_StrConnection);
OleDbCommand MyCmd = new OleDbCommand(p_StrSql, MyConnection);
try
{
MyConnection.Open();
object r = MyCmd.ExecuteScalar();
if (object.Equals(r, null))
{
throw new Exception("Value Unavailable!");
}
else
{
return (int)r;
}
}
catch (OleDbException e)
{
throw new Exception(e.Message);
}
finally
{
MyCmd.Dispose();
MyConnection.Close();
}
}//end ExecuteSql4Value
/// <summary>
/// 执行仅返回一个数据的SQL语句,返回数据可以为任何类型
/// </summary>
/// <param name="p_StrSql"></param>
/// <returns></returns>
public static object ExecuteSql4ValueEx(string p_StrSql)
{
OleDbConnection MyConnection = new OleDbConnection(m_StrConnection);
OleDbCommand MyCmd = new OleDbCommand(p_StrSql, MyConnection);
try
{
MyConnection.Open();
object r = MyCmd.ExecuteScalar();
if (object.Equals(r, null))
{
throw new Exception("Value Unavailable!");
}
else
{
return r;
}
}
catch (OleDbException e)
{
throw new Exception(e.Message);
}
finally
{
MyCmd.Dispose();
MyConnection.Close();
}
}//end ExecuteSql4ValueEx
/// <summary>
/// 执行一组不返回数据集的SQL语句
/// </summary>
/// <param name="p_StrSql"></param>
/// <returns></returns>
public static int ExecuteSql(string[] p_StrSql)
{
OleDbConnection MyConnection = new OleDbConnection(m_StrConnection);
OleDbCommand MyCmd = new OleDbCommand();
int j = p_StrSql.Length;
try
{
MyConnection.Open();
}
catch (OleDbException e)
{
throw new Exception(e.Message);
}
OleDbTransaction MyTrans = MyConnection.BeginTransaction();
try
{
MyCmd.Connection = MyConnection;
MyCmd.Transaction = MyTrans;
foreach (string Str in p_StrSql)
{
MyCmd.CommandText = Str;
MyCmd.ExecuteNonQuery();
}
MyTrans.Commit();
return 0;
}
catch (OleDbException e)
{
MyTrans.Rollback();
throw new Exception(e.Message);
}
finally
{
MyCmd.Dispose();
MyConnection.Close();
}
}//end ExecuteSql
}
三:shujuku.cs类
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;
/// <summary>
/// ShuJuKu 的摘要说明
/// </summary>
public class ShuJuKu
{
private OleDbConnection m_MyConnection = null;
public ShuJuKu()
{
}
private void Open()
{
//打开数据库连接
if (m_MyConnection == null)
{
m_MyConnection = new OleDbConnection(ConfigurationSettings.AppSettings["shopConnectionString"]);
}
if (m_MyConnection.State == ConnectionState.Closed)
{
m_MyConnection.Open();
}
}//end Open
private void Close()
{
if (m_MyConnection != null)
{
if (m_MyConnection.State == ConnectionState.Open)
{
m_MyConnection.Close();
}
}
}//end Close
private void Disponse()
{
if (m_MyConnection != null)
{
m_MyConnection.Dispose();
m_MyConnection = null;
}
}
}