?? sqlsubjectaccess.cs
字號:
/*****************************************************************************************************
*
* 作 者: 韓永亮
*
* 創建日期:2006-11-6
*
* 功能描述:數據層,與科目表相關的操作,含有向科目表中添加新記錄、顯示科目表中的所有信息、更新科目表中的信息等方法。
*
*
* 處理過程:AddnewWarrant:通過SqlHelper.ExecuteNonQuery方法,使用存儲過程“usps_proInsWarrant”來向數據庫中的“憑證表” 所有字段插入數據。
* ListAllWarrant:通過SqlHelper.ExecuteNonQuery方法,使用存儲過程“usps_proSelectWarrant”來將數據庫中的“憑證表”所有字段選擇出來。
* Update:調用SqlHelper.ExecuteDataset方法,使用存儲過程“usps_proUpdateWarrant”來更新數據庫中的“憑證表” 所有字段的數據。
*
* 調用說明:實例化DataLayer.SqlWarrtAccess類以后,便可調用其中的方法。
* AddnewWarrant:傳入參數為objWarrant,返回值如果大于0則表示添加成功。
* ListAllWarrant:無參數,返回值為DataSet。
* Update:傳入參數為objWarrant,返回值為空。
*
*************************************************************************************************/
using System;
using Microsoft.ApplicationBlocks.Data;//導入SqlHelper類
using AbstractLayer;
using System.Data;
using System.Data.SqlClient;
namespace DataLayer
{
/// <summary>
/// SqlSubjectAccess 的摘要說明。
/// </summary>
public class SqlSubjectAccess : IsubjectAccess
{
#region SqlSubjectAccess構造函數
/// <summary>
/// 將接受的_connectionString賦給m_Connection_String
/// </summary>
/// <param name="string">_connectionString</param>
/// <returns></returns>
string m_Connection_String = "server=219.219.221.30; UID=sa; Password=; Database=test";
public SqlSubjectAccess(string _connectionString)
{
m_Connection_String=_connectionString;
}
#endregion
#region 用于向科目表中添加信息:
/// <summary>
/// 向科目表中添加新記錄
/// </summary>
/// <param name="AbstractLayer.baseSubject">objSubject</param>
/// <returns>-1則表示添加失敗,1則表示添加成功</returns>
public int AddnewSubject (AbstractLayer.baseSubject objSubject )
{
//實例化事務
SqlTransaction objTrans=null;
//實例化鏈接字符串
SqlConnection myConnection = new SqlConnection(m_Connection_String);
try
{
//打開數據庫連接
myConnection.Open();
//開始事務
objTrans= myConnection.BeginTransaction();
//定義SqlParameter數組,其大小為7,數組名為arrParam
SqlParameter [] arrParam=new SqlParameter[7];
//給arrParam參數賦值(參考SqlDataAccess類)
arrParam[0] = new SqlParameter("@subjectID",objSubject . subjectID);
arrParam[1] = new SqlParameter("@subjectName",objSubject .subjectName);
arrParam[2] = new SqlParameter("@memId",objSubject . memId);
arrParam[3] = new SqlParameter("@subjectCat",objSubject . subjectCat);
arrParam[4] = new SqlParameter("@hasSubject ",objSubject . hasSubject);
arrParam[5] = new SqlParameter("@balanceDirec ",objSubject . balanceDirec);
arrParam[6] = new SqlParameter("@quantityUnit ",objSubject . quantityUnit);
//調用SqlHelper.ExecuteNonQuery方法,并使用usps_proInsSubject 存儲過程
SqlHelper.ExecuteNonQuery(m_Connection_String,CommandType.StoredProcedure,"usps_proInsSubject",arrParam);
}
catch(Exception Ex)
{
//參數失敗,則返回-1,同時回滾事務
objTrans.Rollback();
return -1;
}
finally
{
//關閉連接
myConnection.Close();
}
return 1;//成功的情況
}
#endregion
#region 顯示科目表中的所有信息:
/// <summary>
/// 顯示科目表中的所有信息
/// </summary>
/// <param name=""></param>
/// <returns>憑科目中所有信息的數據集</returns>
public DataSet ListAllSubject ()
{
DataSet dtStSubject ;
//調用SqlHelper.ExecuteDataset方法,并使用usps_proUpdateSubject 存儲過程,并將數據集賦給dtStSubject ;
dtStSubject = SqlHelper.ExecuteDataset("server=127.0.0.1; UID=sa; Password=; Database=test",CommandType.StoredProcedure,"usps_proSelectSubject");
return dtStSubject ;
}
#endregion
#region 更新科目表中的信息:
/// <summary>
/// 更新科目表中的信息
/// </summary>
/// <param name="AbstractLayer.baseWarrant">objSubject</param>
/// <returns></returns>
public void Update(AbstractLayer.baseSubject objSubject )
{
//實例化事務
SqlTransaction objTrans=null;
//實例化鏈接字符串
SqlConnection myConnection = new SqlConnection(m_Connection_String);
try
{
//打開數據庫連接
myConnection.Open();
//開始事務
objTrans= myConnection.BeginTransaction();
//定義SqlParameter數組,其大小為7,數組名為prSubjectParms
SqlParameter [] prAccountParms=new SqlParameter[7];
//給prAccountParms參數賦值(參考SqlDataAccess類)
prAccountParms[0] = new SqlParameter("@subjectID",objSubject . subjectID);
prAccountParms[1] = new SqlParameter("@subjectName",objSubject .subjectName);
prAccountParms[2] = new SqlParameter("@memId",objSubject . memId);
prAccountParms[3] = new SqlParameter("@subjectCat",objSubject . subjectCat);
prAccountParms[4] = new SqlParameter("@hasSubject ",objSubject . hasSubject);
prAccountParms[5] = new SqlParameter("@balanceDirec ",objSubject . balanceDirec);
prAccountParms[6] = new SqlParameter("@quantityUnit ",objSubject . quantityUnit);
//調用SqlHelper.ExecuteNonQuery方法,并使用usps_proUpdateSubject 存儲過程
SqlHelper.ExecuteNonQuery(m_Connection_String,CommandType.StoredProcedure,"usps_proUpdateSubject",prAccountParms);
}
catch(Exception Ex)
{
//回滾事務
objTrans.Rollback();
throw;
}
finally
{
//關閉連接
myConnection.Close();
}
}
}
#endregion
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -