小弟正在自学北大青鸟的“第三波网上书店”项目,在第四章的搭建三层架构中,对数据访问层的DBHelper类的使用以及编写实在是非常迷糊,特向各位大侠求助?  说来惭愧,我现在根本没有写DBHelper类,在网上下了一个,也是不会用,我该怎么办啊?     QQ:762187599

解决方案 »

  1.   

    一步一步来。先学会增删改查,ado.net操作数据库。helper只是封装了一些方法,方便ado.net,然后只需要传几个参数就行
      

  2.   

    DBhelper只是封装了一些数据库操作的方法,达到方便的效果,呵呵
    --reply by CSDN Study V1.0.0.3 (starts_2000)
      

  3.   


    支持,
    ado就是现成的DAL,用它做几年商业项目再说,
    ado是迄今为止最优秀的DAL编程模型了
      

  4.   

    业务逻辑层调用dbhelp(即数据访问层)  执行数据操作
      

  5.   


    1.数据库DAL:
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Data;
    using System.Configuration;
    using System.Data.SqlClient;namespace DAL
    {
        public static class DBHelper
        {        private static SqlConnection connection;
            public static SqlConnection Connection
            {
                get
                {
                    string connectionString = @"Data Source=.;Initial Catalog=HouseManager;User ID=sa;password=123456";
                    
                    if (connection == null)
                    {
                        connection = new SqlConnection(connectionString);
                        connection.Open();
                    }
                    else if (connection.State == System.Data.ConnectionState.Closed)
                    {
                        connection.Open();
                    }
                    else if (connection.State == System.Data.ConnectionState.Broken)
                    {
                        connection.Close();
                        connection.Open();
                    }
                    return connection;
                }
            }
            public static int ExecuteCommand(string safeSql)
            {
                SqlCommand cmd = new SqlCommand(safeSql, Connection);
                int result = cmd.ExecuteNonQuery();
                return result;
            }
    }2.业务逻辑BLL:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using HouseDAL;
    using System.Data;namespace HouseBLL
    {
        public class AdminManager
        {
            /// <summary>
            /// 检查登录管理员是否存在
            /// </summary>
            /// <param name="admin_name">用户名</param>
            /// <param name="admin_pwd">密码</param>
            /// <param name="admin_type">类型</param>
            /// <returns></returns>
            public bool CheckAdminIS(string admin_name, string admin_pwd, string admin_type)
            {
                AdminServices asc = new AdminServices();
                return asc.CheckAdminIS(admin_name, admin_pwd, admin_type);
            }        /// <summary>
            /// 获取所有的管理员
            /// </summary>
            /// <returns></returns>
            public DataTable GetAllAdmin()
            {
                AdminServices asc = new AdminServices();
                return asc.GetAllAdmin();        }
    }第3:表示层UI
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using HouseBLL;namespace HouseUI.Users
    {
        public partial class FrmUserManager : Form
        {
            public FrmUserManager()
            {
                InitializeComponent();
            }        private void btnLookAll_Click(object sender, EventArgs e)
            {
                HouseUI.Users.FrmAllAdmin fm = new FrmAllAdmin();
                fm.Show();
            }        private void btnAdd_Click(object sender, EventArgs e)
            {
                AdminManager am = new AdminManager();
                string UserName = this.txtUserName.Text.Trim();
                string UserPwd = this.txtUserPwd.Text.Trim();
                string UserType = this.cmbType.Text.Trim();
                bool re = am.AddAdmin(UserName, UserPwd, UserType);            if (re == true)
                {
                    MessageBox.Show("用户:" + UserName + "增加成功!", "提示", MessageBoxButtons.OK);
                }
                else
                {
                    MessageBox.Show("用户:" + UserName + "增加失败,请检查!", "提示", MessageBoxButtons.OK);
                }
            }
    }
      

  6.   

    顶七楼,我也做过第三波书店,一般的DBHelper就和七楼的差不多
      

  7.   

    北大青鸟的老师就是叫你把ADO的代码敲熟,然后测试通过才能让你使用DBHelper,不然就得受罪了,还可以。自己先学,不用直接用,直接用你意思都不懂有什么用呢
      

  8.   

    yajore,谢谢你的项目,对我帮助很大哦,哈哈!