SqlHelper 类用于通过一组静态方法来封装数据访问功能。该类不能被继承或实例化,因此将其声明为包含专用构造函数的不可继承类。 

SqlHelper是一个基于.NET Framework的数据库操作组件。组件中包含数据库操作方法。SqlHelper用于简化你重复的去写那些数据库连接(SqlConnection),SqlCommand,SqlDataReader

在 SqlHelper 类中实现的每种方法都提供了一组一致的重载。这提供了一种很好的使用 SqlHelper 类来执行命令的模式,同时为开发人员选择访问数据的方式提供了必要的灵活性。每种方法的重载都支持不同的方法参数,因此开发人员可以确定传递连接、事务和参数信息的方式。在 SqlHelper 类中实现的方法包括: 
ExecuteNonQuery。此方法用于执行不返回任何行或值的命令。这些命令通常用于执行数据库更新,但也可用于返回存储过程的输出参数。 
ExecuteReader。此方法用于返回 SqlDataReader 对象,该对象包含由某一命令返回的结果集。 
ExecuteDataset。此方法返回 DataSet 对象,该对象包含由某一命令返回的结果集。 
ExecuteScalar。此方法返回一个值。该值始终是该命令返回的第一行的第一列。 
ExecuteXmlReader。此方法返回 FOR XML 查询的 XML 片段。 
 

 


使用App.config配置文件封装连接字符串,方便重复使用
--->添加App.conifg配置文件
--->Add : ConnectionString:
--->添加引用


SqlHelper 类中的专用实用程序函数包括: 

AttachParameters:该函数用于将所有必要的 SqlParameter 对象连接到正在运行的 SqlCommand。 
AssignParameterValues:该函数用于为 SqlParameter 对象赋值。 
PrepareCommand:该函数用于对命令的属性(如连接、事务环境等)进行初始化。 
ExecuteReader:此专用 ExecuteReader 实现用于通过适当的 CommandBehavior 打开 SqlDataReader 对象,以便最有效地管理与阅读器关联的连接的有效期。 

思维导图

 

SQLHelper学习笔记

SQLHelper学习笔记

示例代码

namespace BILL
{
    
    /// <summary>
    /// 公有类:用户;
    /// </summary>
    public class User
    {
        
        /// <summary>
        /// 公有属性:用户号;
        /// </summary>
        public string No
        {
            get;
            set;
        }

        /// <summary>
        /// 公有属性:密码;
        /// </summary>
        public string Password
        {
            get;
            set;
        }

        /// <summary>
        /// 公有属性:是否完成登录;
        /// </summary>
        public bool HasLoggedIn
        {
            get;
            set;
        }

        /// <summary>
        /// 公有属性:是否完成注册;
        /// </summary>
        public bool HasSignedUp
        {
            get;
            set;
        }

        /// <summary>
        /// 公有属性:是否雷同;
        /// (即存在用户号雷同的用户)
        /// </summary>
        public bool IsDuplicate
        {
            get;
            set;
        }

        /// <summary>
        /// 公有属性:消息;
        /// (用于返回验证结果)
        /// </summary>
        public string Message
        {
            get;
            set;
        }
    }
}
 

 

 

namespace BILL
{
    public partial class frm_SignUp : Form
    {
        /// <summary>
        /// 私有字段:用户;
        /// </summary>
        private User User;

        /// <summary>
        /// 公有方法:构造函数;
        /// </summary>
        public frm_SignUp()
        {
            InitializeComponent();
            this.StartPosition = FormStartPosition.CenterScreen;                               
            this.User = new User();                                                            
        }

        /// <summary>
        /// 私有方法:点击注册按钮;
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_SignUp_Click(object sender, EventArgs e)
        {
            if (this.txb_UserNo.Text.Trim() == "")                                              
            {
                MessageBox.Show("用户号不能为空!");                                          
                this.txb_UserNo.Focus();                                                      
                return;                                                                   
            }
            if (this.txb_Password.Text.Trim() == "")                                          
            {
                MessageBox.Show("密码不能为空!");                                           
                this.txb_Password.Focus();                                                    
                return;                                                                      
            }
            this.User.No = this.txb_UserNo.Text.Trim();                                   
            this.User.Password = this.txb_Password.Text.Trim();
            UserBll.SignUp(this.User);                                                             
            MessageBox.Show(this.User.Message);                                         
        }
    }
}
 

        /// <summary>
        /// 公有静态方法:注册;
        /// </summary>
        /// <param name="user">用户</param>
        /// <returns>是否注册成功</returns>
        public static bool SignUp(User user)
        {
            int rowAffected1 = UserDal.Insert(user);                         
            if (rowAffected1 == 1)                                              
            {
                user.HasSignedUp = true;                                      
                user.Message = "注册成功。";                                   
            }
            else                                                              
            {
                user.HasSignedUp = false;                                    
                if (user.IsDuplicate)                                          
                {
                    user.Message = "您注册的用户号已存在,请重新输入!\n";     
                }
                user.Message += "注册失败!";                                 
            }
            return user.HasSignedUp;                                         
        }
 

SQLHelper学习笔记

相关文章: