using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using _01三层实现增删改查.Model;
using System.Data.SqlClient;
using _0622课堂练习;
namespace _01三层实现增删改查.DAL
{
public class TblPersonDal
{
/// <summary>
/// 插入一条记录
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public object Insert(TblPerson model)
{
string sql = "insert into TblPerson output inserted.autoId values(@name,@age,@height,@gender)";
SqlParameter[] pms = new SqlParameter[] {
new SqlParameter("@name",model.UName),
new SqlParameter("@age",model.Age),
new SqlParameter("@height",model.Height==null?DBNull.Value:(object)model.Height),
new SqlParameter("@gender",model.Gender==null?DBNull.Value:(object)model.Gender)
};
return SqlHelper.ExecuteScalar(sql, pms);
}
public int Delete(int autoId)
{
string sql = "delete from TblPerson where autoId=@id";
return SqlHelper.ExecuteNonQuery(sql, new SqlParameter("@id", autoId));
}
public List<TblPerson> SelectAll()
{
List<TblPerson> list = new List<TblPerson>();
string sql = "select * from TblPerson";
using (SqlDataReader reader = SqlHelper.ExecuteReader(sql))
{
if (reader.HasRows)
{
while (reader.Read())
{
TblPerson model = new TblPerson();
model.Age = reader.GetInt32(2);
model.AutoId = reader.GetInt32(0);
model.Gender = reader.IsDBNull(4) ? null : (bool?)reader.GetBoolean(4);
model.Height = reader.IsDBNull(3) ? null : (int?)reader.GetInt32(3);
model.UName = reader.GetString(1);
list.Add(model);
}
}
}
return list;
}
public int Update(TblPerson model)
{
string sql = "update TblPerson set uname=@name,age=@age,height=@height,gender=@gender where autoId=@autoid";
SqlParameter[] pms = new SqlParameter[] {
new SqlParameter("@name",model.UName),
new SqlParameter("@age",model.Age),
new SqlParameter("@height",model.Height==null?DBNull.Value:(object)model.Height),
new SqlParameter("@gender",model.Gender==null?DBNull.Value:(object)model.Gender),
new SqlParameter("@autoid",model.AutoId)
};
return SqlHelper.ExecuteNonQuery(sql, pms);
}
public TblPerson GetModelById(int autoId)
{
string sql = "select * from TblPerson where autoId=@id";
using (SqlDataReader reader = SqlHelper.ExecuteReader(sql, new SqlParameter("@id", autoId)))
{
if (reader.HasRows)
{
if (reader.Read())
{
TblPerson model = new TblPerson();
model.Age = reader.GetInt32(2);
model.AutoId = reader.GetInt32(0);
model.Gender = reader.IsDBNull(4) ? null : (bool?)reader.GetBoolean(4);
model.Height = reader.IsDBNull(3) ? null : (int?)reader.GetInt32(3);
model.UName = reader.GetString(1);
return model;
}
}
return null;
}
}
}
}