📄 cardtypeda.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 Neverhood;
using System.Data.SqlClient;
using System.Text;
namespace Neverhood
{
/// <summary>
/// CardTypeDA 的摘要说明
/// </summary>
public class CardTypeDA
{
//会员卡信息
private const string PARM_CARD_TYPENAME = "@cardtypename";
private const string PARM_CARD_RULE = "@cardrule";
//会员卡操作信息
private const string SQL_SELECT_CARDRULE = "select cardrule from 卡类型表 where cardtypename=@cardtypename";
private const string SQL_UPDATE_CARDTYPENAME = "update 卡类型表 set cardtypename=@cardtypename where cardtypename=@oldname";
private const string SQL_UPDATE_CARDRULE = "update 卡类型表 set cardrule=@cardrule where cardtypename=@cardtypename";
private const string SQL_INSERT_CARDTYPE = "insert into 卡类型表 values(@cardtypename,@cardrule)";
private const string SQL_SELECT_CARDNAME = "select cardtypename from 卡类型表 where cardtypename=@cardtypename";
public CardTypeDA()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
//通过会员类名称更新积分规则
//cardtypename为会员卡类型名称
//返回积分规则
public int GetCardRule(string cardtypename)
{
int cardrule = 0;
//创建新参数并给参数赋值,用来指定会员卡类型名称
SqlParameter parms = new SqlParameter(PARM_CARD_TYPENAME, SqlDbType.NVarChar, 20);
parms.Value = cardtypename;
//调用SqlHandle访问组件的方法返回第一行第一列的值
return (int)SqlHandle.ExectueScalar(SqlHandle.ConnectionStringLocalTransanction, CommandType.Text, SQL_SELECT_CARDRULE, parms);
}
//更新会员卡积分规则
//cardtypename卡类型名称
//newrule更新后的规则
//返回更新是否成功
public bool UpdateCardRule(CardTypeEntity mycarden)
{
//获取参数列表
SqlParameter[] cardParms = GetParamters();
//给参数赋值
cardParms[0].Value = mycarden.CardTypeName;
cardParms[1].Value = mycarden.CardRule;
//使用StringBuilder来连接字符串
StringBuilder strSQL = new StringBuilder();
SqlCommand cmd = new SqlCommand();
//遍历参数列表并将参数添加到SqlCommand命令中
foreach (SqlParameter parms in cardParms)
{
cmd.Parameters.Add(parms);
}
using (SqlConnection conn = new SqlConnection(SqlHandle.ConnectionStringLocalTransanction))
{
//在连接字符串中加入SQL语句
strSQL.Append(SQL_UPDATE_CARDRULE);
conn.Open();
cmd.Connection = conn;
//设定SqlCommand命令的属性
cmd.CommandType = CommandType.Text;
cmd.CommandText = strSQL.ToString();
//执行SqlCommand命令结果不返回结果集的方法
int val = cmd.ExecuteNonQuery();
//清空SqlCommand中的参数列表
cmd.Parameters.Clear();
//判断如果并影响的行数大于0,如果大于0则成功,否则失败
if (val > 0)
{
return true;
}
else
{
return false;
}
}
}
//更新卡类型名称
//旧名称oldname
//新名称newname
//更新是否成功
public bool UpdateCardTypeName(string oldname, string newname)
{
//首先判断新的会员卡类型名称是否已经存在
bool exits = GetCardType(newname);
int val = 0;
//如果不存在,正常执行,如果存在,则val值不变,方法返回false
if (exits)
{
//创建参数数组,并赋值
//因为此方法中参数与会员卡类型实体的参数不同,不可以使用GetParameters方法获取
SqlParameter[] parms = new SqlParameter[2](new SqlParameter(PARM_CARD_TYPENAME,SqlDbType.NVarChar,20),
new SqlParameter("@oldname",SqlDbType.NVarChar,20));
parms[0].Value = newname;
parms[1].Value = oldname;
//执行SqlHandle中不返回结果集的方法
val = SqlHandle.ExecuteNonQuery(SqlHandle.ConnectionStringLocalTransanction,CommandType.Text,SQL_UPDATE_CARDTYPENAME,parms);
}
if(val > 0)
{
return true;
}
else
{
return false;
}
}
//添加卡类型
//mycard卡类型实体
public bool InsertCardType(CardTypeEntity mycard)
{
//首先判断新的会员卡类型名称是否已经存在
bool exits = GetCardType(mycard.CardTypeName);
//如果不存在,正常执行,如果存在,方法返回false
if (exits)
{
StringBuilder strSQL = new StringBuilder();
//获取添加卡类型的T-SQL语句的参数
SqlParameter[] cardParms = GetParamters();
SqlCommand cmd = new SqlCommand();
//给参数赋值
cardParms[0].Value = mycard.CardTypeName;
cardParms[1].Value = mycard.CardRule;
//遍历参数列表,并将参数添加进SqlCommand命令中
foreach (SqlParameter parms in cardParms)
{
cmd.Parameters.Add(parms);
}
//定义对象资源保存范围,一旦using范围结束,将释放对方所占的资源
using (SqlConnection conn = new SqlConnection(SqlHandle.ConnectionStringLocalTransanction))
{
strSQL.Append(SQL_INSERT_CARDTYPE);
conn.Open();
//设定SqlCommand的属性
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = strSQL.ToString();
//执行SqlCommand命令
int val = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
if (val > 0)
{
return true;
}
else
{
return false;
}
}
}
else
{
return false;
}
}
//获取参数列表,因上面两个方法用到了此方法,所以单独列出
//返回参数集合
private static SqlParameter[] GetParamters()
{
//获取key值为cardtype的缓存参数列表
SqlParameter[] parms = SqlHandle.GetCachedParameters("cardType");
//如果参数列表不存在
if (parms == null)
{
//新建参数列表
parms = new SqlParameter[]{new SqlParameter(PARM_CARD_TYPENAME,SqlDbType.VarChar,20),
new SqlParameter(PARM_CARD_RULE,SqlDbType.Int)};
//缓存新建的参数列表,并设置KEY值为cardtype
SqlHandle.CacheParameters("cardType",parms);
}
return parms;
}
//判断会员卡类型名称是否重复(仅为类内部调用,不公开)
//typename会员卡类型名称
//返回是否重复
private bool GetCardType(string typename)
{
//创建新参数并给参数赋值,用来指定会员卡类型名称
SqlParameter parm = new SqlParameter(PARM_CARD_TYPENAME,SqlDbType.NVarChar,20);
parm.Value = typename;
//调用SqlHandle访组件的方法返回第一行第一列的值
object obj = SqlHandle.ExectueScalar(SqlHandle.ConnectionStringLocalTransanction, CommandType.Text, SQL_SELECT_CARDNAME, parm).ToString();
//如果卡类型不存在返回true,如果存在返回false
if (obj == null)
{
return true;
}
else
{
return false;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -