需要完成添加功能,我现在只做web层,bll层,sql层,想省略数据工厂创建对象的模式,在web层肯定是多个字段(数据类型也不一致)添加,问题是怎样把这几个字段作为一个参数而传给bll,直接创建sq层 对象,插入这一行数据呢。
web层
protected void cmdOkAddTicket_Click(object sender, EventArgs e)
{
string PnrNo = this.txtPnrNo.Text;//乘客编号
string FName = this.txtFName.Text;//姓
string LName = this.txtLname.Text;//名
string Age = this.txtAge.Text;//年龄
string SSR = this.txtSSR.Text;//状态
string TravelDate = DdlY.SelectedItem.Value.ToString();//日期
int Gender = this.DdlGender.SelectedIndex + 1;//性别
int Class = this.DdlClass.SelectedIndex + 1;//座位等级
int SeatPref = this.DdlSeatPref.SelectedIndex + 1;//座位偏好
int MealPref = this.DdlM.SelectedIndex + 1;//进餐偏好
LiTianPing.BLL.Horizon.Ticket bll = new LiTianPing.BLL.Horizon.Ticket();
DataSet ds=bll.GetData();//**********这里肯定是要传入前面这几个字段的集合***********
}
bll层
namespace LiTianPing.BLL.Horizon
{
public class Ticket
{
LiTianPing.SQLServerDAL.Horizon.Ticket dal = new LiTianPing.SQLServerDAL.Horizon.Ticket();
/// <summary>
/// 获得公用数据列表
/// </summary>
/// <returns>返回数据集</returns>
public bool GetData(string str)//***********这里参数需要更改,需要返回类型吗
{
return dal.GetData(FieldName, TableName, parameter);
}
}
SQLServerDAL层
namespace LiTianPing.SQLServerDAL.Horizon
{
public class Ticket
{
/// <summary>
/// 增加一条数据
/// </summary>
public bool Add(string PnrNo)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("insert into Passenger(");
strSql.Append("PnrNo,FlightNo,DateTime,FName,LName,Age,Gender,Class,SeatPref,MealPref,SSR)");
strSql.Append(" values (");
strSql.Append("@PnrNo,@FlightNo,@DateTime,@FName,@LName,@Age,@Gender,@Class,@SeatPref,@MealPref,@SSR)");
SqlParameter[] parameters = {
new SqlParameter("@PnrNo", SqlDbType.Char,18),
new SqlParameter("@FlightNo", SqlDbType.Char,5),
new SqlParameter("@DateTime", SqlDbType.DateTime),
new SqlParameter("@FName", SqlDbType.Char,20),
new SqlParameter("@LName", SqlDbType.Char,20),
new SqlParameter("@Age", SqlDbType.Int,4),
new SqlParameter("@Gender", SqlDbType.Char,1),
new SqlParameter("@Class", SqlDbType.Char,15),
new SqlParameter("@SeatPref", SqlDbType.Char,15),
new SqlParameter("@MealPref", SqlDbType.Char,15),
new SqlParameter("@SSR", SqlDbType.Char,15)};
DbHelperSQL.ExecuteSql(strSql.ToString());
return true; ///****************这里返回是什么呢
}
}
再说明一下我的问题:怎样吧web层的多个不同类型的字段作为参数传给bll层完成数据插入,并且知道已经插入值。先谢谢你们的解答!