📄 sqlwarrtaccess.cs
字号:
/*****************************************************************************************************
*
* 作 者:韩永亮
* 评 审:夏竹青
*
* 评审意见:存储过程不对应,参数不对应
* 创建日期:2006-10-31
* 评审日期:2006-11-5
* 修改日期:2006-11-6
* 修改原因:由于凭证输入模块需要增加功能,需要对分录表、科目表的部分字段操作,对应的2个存储
* 存储过程为:usps_proSelectWarrant001和usps_proSelectWarrant002(条件不一样)
*
* 功能描述:数据层,与凭证表相关的操作,含有向凭证表中添加新记录、显示凭证表中的所有信息、更新凭证表中的信息等方法。
*
*
* 处理过程:AddnewWarrant:通过SqlHelper.ExecuteNonQuery方法,使用存储过程“usps_proInsWarrant”来向数据库中的“凭证表” 所有字段插入数据。
* ListAllWarrant:通过SqlHelper.ExecuteNonQuery方法,使用存储过程“usps_proSelectWarrant”来将数据库中的“凭证表”所有字段选择出来。
* Update:调用SqlHelper.ExecuteDataset方法,使用存储过程“usps_proUpdateWarrant”来更新数据库中的“凭证表” 所有字段的数据。
* ListCondtn:通过传入的一个0或1参数,以及科目表对象和分录表的对象,来生成凭证表和分录表的信息的数据集。
* ListWarrantCD:usps_proSelectWarrant003
* QuerySystemParam:usps_proSelectSystemParam
* ListWarrtMaxCode:usps_proSelectWarrant004
* dltWarrtSubRec:usps_proDeletWarrSubRec
*
* 调用说明:实例化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>
/// SqlWarrtAccess 的摘要说明。
/// </summary>
public class SqlWarrtAccess : IwarrtAccess
{
string m_Connection_String = "server=219.219.221.30; UID=sa; Password=; Database=test";
#region SqlWarrtAccess构造函数
/// <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)
{
// 实例化事务
SqlTransaction objTrans=null;
// 实例化链接字符串
SqlConnection myConnection = new SqlConnection(m_Connection_String);
try
{
// 打开数据库连接
myConnection.Open();
// 开始事务
objTrans= myConnection.BeginTransaction();
// 定义SqlParameter数组,其大小为10,数组名为arrParam
SqlParameter [] arrParam=new SqlParameter[10];
// 给arrParam参数赋值(参考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
//调用SqlHelper.ExecuteNonQuery方法,并使用usps_proInsWarrant存储过程
SqlHelper.ExecuteNonQuery(m_Connection_String,CommandType.StoredProcedure,"usps_proInsWarrant",arrParam);
}
catch(Exception Ex)
{
// 参数失败,则返回-1
objTrans.Rollback();
string sError=Ex.Message.ToString();
return -1;
// 同时回滚事务
}
finally
{
// 关闭连接
myConnection.Close();
}
return 1;//成功的情况
}
#endregion
#region 显示凭证表中的所有信息
/// <summary>
/// 显示凭证表中的所有信息
/// </summary>
/// <param name=""></param>
/// <returns>凭证表中所有信息的数据集</returns>
public DataSet ListAllWarrant ()
{
DataSet dtStWarrant;
// 调用SqlHelper.ExecuteDataset方法,并使用usps_proSelectWarrant存储过程,并将数据集赋给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;
//调用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 根据凭证代码和日期选择凭证表中的信息
/// <summary>
/// 根据凭证代码和日期选择凭证表中的信息
/// </summary>
/// <param name=""></param>
/// <returns>凭证表中所有信息的数据集</returns>
public DataSet ListWarrantCD (string warrtCode,string accDate)
{
DataSet dtStWarrant;
// 调用SqlHelper.ExecuteDataset方法,并使用usps_proSelectWarrant003存储过程,并将数据集赋给dtStWarrant;
SqlParameter [] arrParam=new SqlParameter[2];
// 给arrParam参数赋值(参考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>科目表和分录表的信息的数据集</returns>
public DataSet ListCondtn (int condition,string strWarrtCode)
{
DataSet dtStWarrtCdt;
if(condition == 0)
{
//调用SqlHelper.ExecuteDataset方法,并使用usps_proSelectWarrant001存储过程,并将数据集赋给dtStWarrtCdt;
dtStWarrtCdt = SqlHelper.ExecuteDataset(m_Connection_String,CommandType.StoredProcedure,"usps_proSelectWarrant001");
}
else if(condition == 1)
{
SqlParameter [] arrParam=new SqlParameter[1];
// 给arrParam参数赋值(参考SqlDataAccess类)
arrParam[0]=new SqlParameter("@strWarrentCode",strWarrtCode);
//调用SqlHelper.ExecuteDataset方法,并使用usps_proSelectWarrant002存储过程,并将数据集赋给dtStWarrtCdt;
dtStWarrtCdt = SqlHelper.ExecuteDataset(m_Connection_String,CommandType.StoredProcedure,"usps_proSelectWarrant002",arrParam);
}
else
{
//需增加出错处理
dtStWarrtCdt = null;
}
return dtStWarrtCdt;
}
#endregion
#region 显示当前会计期间的系统表信息
/// <summary>
/// 显示当前会计期间的系统表信息
/// </summary>
/// <param name=""></param>
/// <returns>系统表的dataReader</returns>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -