?? sqlwarrtaccess.cs
字號:
/*****************************************************************************************************
*
* 作 者:韓永亮
* 評 審:夏竹青
*
* 評審意見:存儲過程不對應(yīng),參數(shù)不對應(yīng)
* 創(chuàng)建日期:2006-10-31
* 評審日期:2006-11-5
* 修改日期:2006-11-6
* 修改原因:由于憑證輸入模塊需要增加功能,需要對分錄表、科目表的部分字段操作,對應(yīng)的2個(gè)存儲
* 存儲過程為:usps_proSelectWarrant001和usps_proSelectWarrant002(條件不一樣)
*
* 功能描述:數(shù)據(jù)層,與憑證表相關(guān)的操作,含有向憑證表中添加新記錄、顯示憑證表中的所有信息、更新憑證表中的信息等方法。
*
*
* 處理過程:AddnewWarrant:通過SqlHelper.ExecuteNonQuery方法,使用存儲過程“usps_proInsWarrant”來向數(shù)據(jù)庫中的“憑證表” 所有字段插入數(shù)據(jù)。
* ListAllWarrant:通過SqlHelper.ExecuteNonQuery方法,使用存儲過程“usps_proSelectWarrant”來將數(shù)據(jù)庫中的“憑證表”所有字段選擇出來。
* Update:調(diào)用SqlHelper.ExecuteDataset方法,使用存儲過程“usps_proUpdateWarrant”來更新數(shù)據(jù)庫中的“憑證表” 所有字段的數(shù)據(jù)。
* ListCondtn:通過傳入的一個(gè)0或1參數(shù),以及科目表對象和分錄表的對象,來生成憑證表和分錄表的信息的數(shù)據(jù)集。
* ListWarrantCD:usps_proSelectWarrant003
* QuerySystemParam:usps_proSelectSystemParam
* ListWarrtMaxCode:usps_proSelectWarrant004
* dltWarrtSubRec:usps_proDeletWarrSubRec
*
* 調(diào)用說明:實(shí)例化DataLayer.SqlWarrtAccess類以后,便可調(diào)用其中的方法。
* AddnewWarrant:傳入?yún)?shù)為objWarrant,返回值如果大于0則表示添加成功。
* ListAllWarrant:無參數(shù),返回值為DataSet。
* Update:傳入?yún)?shù)為objWarrant,返回值為空。
*
*************************************************************************************************/
using System;
using Microsoft.ApplicationBlocks.Data;//導(dǎo)入SqlHelper類
using AbstractLayer;
using System.Data;
using System.Data.SqlClient;
namespace DataLayer
{
/// <summary>
/// SqlWarrtAccess 的摘要說明。
/// </summary>
public class SqlWarrtAccess : IwarrtAccess
{
string m_Connection_String = "server=219.219.221.30; UID=sa; Password=; Database=test";
#region SqlWarrtAccess構(gòu)造函數(shù)
/// <summary>
/// 將接受的_connectionString賦給m_Connection_String
/// </summary>
/// <param name="string">_connectionString</param>
/// <returns></returns>
public SqlWarrtAccess(string _connectionString)
{
m_Connection_String=_connectionString;
}
#endregion
#region 向憑證表中添加新記錄
/// <summary>
/// 向憑證表中添加新記錄
/// </summary>
/// <param name="AbstractLayer.baseWarrant">objWarrant</param>
/// <returns>-1則表示添加失敗,1則表示添加成功</returns>
public int AddnewWarrant(AbstractLayer.baseWarrant objWarrant)
{
// 實(shí)例化事務(wù)
SqlTransaction objTrans=null;
// 實(shí)例化鏈接字符串
SqlConnection myConnection = new SqlConnection(m_Connection_String);
try
{
// 打開數(shù)據(jù)庫連接
myConnection.Open();
// 開始事務(wù)
objTrans= myConnection.BeginTransaction();
// 定義SqlParameter數(shù)組,其大小為10,數(shù)組名為arrParam
SqlParameter [] arrParam=new SqlParameter[10];
// 給arrParam參數(shù)賦值(參考SqlDataAccess類)
arrParam[0]=new SqlParameter("@warNum",objWarrant.warNum);
arrParam[1]=new SqlParameter("@accPer",objWarrant.accPer);
arrParam[2]=new SqlParameter("@warChar", objWarrant.warChar);
arrParam[3]=new SqlParameter("@data",objWarrant.data);
arrParam[4]=new SqlParameter("@addBill",objWarrant.addBill);
arrParam[5]=new SqlParameter("@makeBill", objWarrant.makeBill);
arrParam[6]=new SqlParameter("@debtorAll",objWarrant.debtorAll);
arrParam[7]=new SqlParameter("@lenderAll",objWarrant.lenderAll);
arrParam[8]=new SqlParameter("@tranaccSta",objWarrant.tranaccSta);
arrParam[9]=new SqlParameter("@warSta",objWarrant.warSta);
//pass connection string, storedprocedure name and parameter array
//調(diào)用SqlHelper.ExecuteNonQuery方法,并使用usps_proInsWarrant存儲過程
SqlHelper.ExecuteNonQuery(m_Connection_String,CommandType.StoredProcedure,"usps_proInsWarrant",arrParam);
}
catch(Exception Ex)
{
// 參數(shù)失敗,則返回-1
objTrans.Rollback();
string sError=Ex.Message.ToString();
return -1;
// 同時(shí)回滾事務(wù)
}
finally
{
// 關(guān)閉連接
myConnection.Close();
}
return 1;//成功的情況
}
#endregion
#region 顯示憑證表中的所有信息
/// <summary>
/// 顯示憑證表中的所有信息
/// </summary>
/// <param name=""></param>
/// <returns>憑證表中所有信息的數(shù)據(jù)集</returns>
public DataSet ListAllWarrant ()
{
DataSet dtStWarrant;
// 調(diào)用SqlHelper.ExecuteDataset方法,并使用usps_proSelectWarrant存儲過程,并將數(shù)據(jù)集賦給dtStWarrant;
dtStWarrant = SqlHelper.ExecuteDataset(m_Connection_String,CommandType.StoredProcedure,"usps_proSelectWarrant");
return dtStWarrant;
}
#endregion
#region 顯示憑證表中的最大編號
/// <summary>
/// 顯示憑證表中的最大編號
/// </summary>
/// <param name=""></param>
/// <returns>憑證表中最大編號的</returns>
public SqlDataReader ListWarrtMaxCode ()
{
SqlDataReader maxCode;
//調(diào)用SqlHelper.ExecuteReader方法,并使用usps_proSelectWarrant004存儲過程,并將SqlDataReader賦給maxCode;
maxCode = SqlHelper.ExecuteReader(m_Connection_String,CommandType.StoredProcedure,"usps_proSelectWarrant004");
if (maxCode.Read())
{
return maxCode;
}
return null;
}
#endregion
#region 根據(jù)憑證代碼和日期選擇憑證表中的信息
/// <summary>
/// 根據(jù)憑證代碼和日期選擇憑證表中的信息
/// </summary>
/// <param name=""></param>
/// <returns>憑證表中所有信息的數(shù)據(jù)集</returns>
public DataSet ListWarrantCD (string warrtCode,string accDate)
{
DataSet dtStWarrant;
// 調(diào)用SqlHelper.ExecuteDataset方法,并使用usps_proSelectWarrant003存儲過程,并將數(shù)據(jù)集賦給dtStWarrant;
SqlParameter [] arrParam=new SqlParameter[2];
// 給arrParam參數(shù)賦值(參考SqlDataAccess類)
arrParam[0]=new SqlParameter("@WarrentCode",warrtCode);
arrParam[1]=new SqlParameter("@AccountDate",accDate);
dtStWarrant = SqlHelper.ExecuteDataset(m_Connection_String,CommandType.StoredProcedure,"usps_proSelectWarrant003",arrParam);
return dtStWarrant;
}
#endregion
#region 顯示科目表和分錄表的信息
/// <summary>
/// 顯示科目表和分錄表的信息
/// </summary>
/// <param name=""></param>
/// <returns>科目表和分錄表的信息的數(shù)據(jù)集</returns>
public DataSet ListCondtn (int condition,string strWarrtCode)
{
DataSet dtStWarrtCdt;
if(condition == 0)
{
//調(diào)用SqlHelper.ExecuteDataset方法,并使用usps_proSelectWarrant001存儲過程,并將數(shù)據(jù)集賦給dtStWarrtCdt;
dtStWarrtCdt = SqlHelper.ExecuteDataset(m_Connection_String,CommandType.StoredProcedure,"usps_proSelectWarrant001");
}
else if(condition == 1)
{
SqlParameter [] arrParam=new SqlParameter[1];
// 給arrParam參數(shù)賦值(參考SqlDataAccess類)
arrParam[0]=new SqlParameter("@strWarrentCode",strWarrtCode);
//調(diào)用SqlHelper.ExecuteDataset方法,并使用usps_proSelectWarrant002存儲過程,并將數(shù)據(jù)集賦給dtStWarrtCdt;
dtStWarrtCdt = SqlHelper.ExecuteDataset(m_Connection_String,CommandType.StoredProcedure,"usps_proSelectWarrant002",arrParam);
}
else
{
//需增加出錯(cuò)處理
dtStWarrtCdt = null;
}
return dtStWarrtCdt;
}
#endregion
#region 顯示當(dāng)前會(huì)計(jì)期間的系統(tǒng)表信息
/// <summary>
/// 顯示當(dāng)前會(huì)計(jì)期間的系統(tǒng)表信息
/// </summary>
/// <param name=""></param>
/// <returns>系統(tǒng)表的dataReader</returns>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -