用户注册实现插入记录ID 两种空值处理问题

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;
            }
        }
 
    }
}
原文地址:https://www.cnblogs.com/jiayue360/p/3166988.html