在好例子网,分享、交流、成长!
您当前所在位置:首页C# 开发实例C#数据库操作 → 用SQLHelper类对数据库进行增删改查+C#3层架构开发

用SQLHelper类对数据库进行增删改查+C#3层架构开发

C#数据库操作

下载此实例
  • 开发语言:C#
  • 实例大小:1.38M
  • 下载次数:223
  • 浏览次数:2453
  • 发布时间:2017-05-16
  • 实例类别:C#数据库操作
  • 发 布 人:雨豪
  • 文件格式:.rar
  • 所需积分:2

实例介绍

【实例简介】

开发时建议用SQLHelper类,因为此类对数据库操作的方法进行了封装,开发时,只需要反复调用就可以了。提高重用性。

【实例截图】


【核心代码】

using System;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;

namespace CustomerManagementSystem.DAL
{
    class SqlHelper
    {
        public static readonly string connstr = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
        
        public static int ExecuteNonQuery(string sql,
            params SqlParameter[] parameters)
        {
            using (SqlConnection conn = new SqlConnection(connstr))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = sql;
                    cmd.Parameters.AddRange(parameters);
                    return cmd.ExecuteNonQuery();
                }
            }
        }

        public static object ExecuteScalar(string sql,
            params SqlParameter[] parameters)
        {
            using (SqlConnection conn = new SqlConnection(connstr))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = sql;
                    cmd.Parameters.AddRange(parameters);
                    return cmd.ExecuteScalar();
                }
            }
        }

        public static DataTable ExecuteDataTable(string sql,
            params SqlParameter[] parameters)
        {
            using (SqlConnection conn = new SqlConnection(connstr))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = sql;
                    cmd.Parameters.AddRange(parameters);

                    DataSet dataset = new DataSet();
                    SqlDataAdapter adapter = new SqlDataAdapter(cmd);
                    adapter.Fill(dataset);
                    return dataset.Tables[0];
                }
            }
        }

        public static object FromDbValue(object value)
        {
            if (value == DBNull.Value)
            {
                return null;
            }
            else
            {
                return value;
            }
        }

        public static object ToDbValue(object value)
        {
            if (value == null)
            {
                return DBNull.Value;
            }
            else
            {
                return value;
            }
        }
    }
}


using CustomerManagementSystem.Model;
using System;
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;

namespace CustomerManagementSystem.DAL
{
    public class CustomerDAL
    {
        private Customer ToCustomer(DataRow row)
        {
            Customer cust = new Customer();
            cust.Id = (long)row["Id"];
            cust.Name = (string)row["Name"];
            cust.Sex = (string)row["Sex"];
            cust.Age = (int)row["Age"];
            cust.Department = (string)row["Department"];
            cust.BirthDay = (DateTime?)SqlHelper.FromDbValue(row["BirthDay"]);
            cust.HireDate = (DateTime?)SqlHelper.FromDbValue(row["HireDate"]);
            cust.TelNum = (string)row["TelNum"];
            cust.Address = (string)row["Address"];
            return cust;
        }


        #region  增加
        public void Insert(Customer customer)
        {
            SqlHelper.ExecuteNonQuery(@"INSERT INTO [T_Customer]
                       ([Name],[Sex],[Age],[Department]
                       ,[BirthDay],[HireDate],[Address],[TelNum])                                 
                        VALUES
                       (@Name,@Sex,@Age,@Department,@BirthDay,@HireDate,@Address,@TelNum)",
                new SqlParameter("@Name", customer.Name),
                new SqlParameter("@Sex", customer.Sex),
                new SqlParameter("@Age", customer.Age),
                new SqlParameter("@Department", customer.Department),
                new SqlParameter("@BirthDay", SqlHelper.ToDbValue(customer.BirthDay)),
                new SqlParameter("@HireDate", SqlHelper.ToDbValue(customer.HireDate)),
                new SqlParameter("@Address", customer.Address),
                new SqlParameter("@TelNum", customer.TelNum));
        }
        #endregion

        #region  删除
        public void DeleteById(long id)
        {
            SqlHelper.ExecuteNonQuery("delete from T_Customer where Id=@Id",
                new SqlParameter("@Id", id));
        }
        #endregion

        #region 更改
        public void Update(Customer customer)
        {
            SqlHelper.ExecuteNonQuery(@"UPDATE [T_Customer]
                       SET  [Name]=@Name
                           ,[Sex]=@Sex
                           ,[Age]=@Age
                           ,[Department]=@Department
                           ,[BirthDay] = @BirthDay
                           ,[HireDate]=@HireDate
                           ,[Address] = @Address
                           ,[TelNum] = @TelNum        
                            WHERE Id=@Id",
                new SqlParameter("@Name", customer.Name),
                new SqlParameter("@Sex", customer.Sex),
                new SqlParameter("@Age", customer.Age),
                new SqlParameter("@Department", customer.Department),
                new SqlParameter("@BirthDay", SqlHelper.ToDbValue(customer.BirthDay)),
                new SqlParameter("@HireDate", SqlHelper.ToDbValue(customer.HireDate)),
                new SqlParameter("@Address", customer.Address),
                new SqlParameter("@TelNum", customer.TelNum),
               new SqlParameter("@Id", customer.Id));
        }
        #endregion

        //public Customer GetDataById(long id)
        //{
        //    DataTable dt = SqlHelper.ExecuteDataTable("select * from T_Customer where Id=@Id",
        //        new SqlParameter("@Id", id));
        //    if (dt.Rows.Count <= 0)
        //    {
        //        return null;
        //    }
        //    else if (dt.Rows.Count > 1)
        //    {
        //        throw new Exception("严重错误,查出多条数据!");
        //    }
        //    else
        //    {
        //        DataRow row = dt.Rows[0];
        //        return ToCustomer(row);
        //    }
        //}

        public Customer[] GetDataById(long id)
        {
            DataTable dt = SqlHelper.ExecuteDataTable("select * from T_Customer where Id=@Id",
                new SqlParameter("@Id", id));
            Customer[] customers = new Customer[dt.Rows.Count];
            if (dt.Rows.Count <= 0)
            {
                return null;
            }
            else if (dt.Rows.Count > 1)
            {
                throw new Exception("严重错误,查出多条数据!");
            }
            else
            {
                for (int i = 0; i < dt.Rows.Count; i )
                {
                    DataRow row = dt.Rows[i];
                    customers[i] = ToCustomer(row);
                }
            }
            return customers;
        }
        public Customer[] GetDataBySex(string Sex)
        {
            DataTable dt = SqlHelper.ExecuteDataTable("select * from T_Customer where Sex=@Sex",
                new SqlParameter("@Sex", Sex));
            Customer[] customers = new Customer[dt.Rows.Count];
            if (dt.Rows.Count <= 0)
            {
                return null;
            }
            else
            {
                for (int i = 0; i < dt.Rows.Count; i )
                {
                    DataRow row = dt.Rows[i];
                    customers[i] = ToCustomer(row);
                }
            }
            return customers;
        }
        public Customer[] GetDataByDepartment(string Department)
        {
            DataTable dt = SqlHelper.ExecuteDataTable("select * from T_Customer where Department=@Department", new SqlParameter("@Department", Department));
            Customer[] customers = new Customer[dt.Rows.Count];
            if (dt.Rows.Count <= 0)
            {
                return null;
            }
            else
            {
                for (int i = 0; i < dt.Rows.Count; i )
                {
                    DataRow row = dt.Rows[i];
                    customers[i] = ToCustomer(row);
                }
            }
            return customers;
        }
        public Customer[] GetAllData()
        {

            DataTable table = SqlHelper.ExecuteDataTable("select * from T_Customer");
            Customer[] customers = new Customer[table.Rows.Count];
            for (int i = 0; i < table.Rows.Count; i )
            {
                DataRow row = table.Rows[i];
                customers[i] = ToCustomer(row);
            }
            return customers;
        }


    }
}

    本人QQ:1150801389

不足之处,希望相关学者指点指点,谢谢!


实例下载地址

用SQLHelper类对数据库进行增删改查+C#3层架构开发

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警