。net实例—MVC(二)

C#实例:MVC

项目结构

1.       首先设计数据库

create database db_cdchrm;

create table tb_amdin (

   id                   int                  identity,

   name                 varchar(50)          null,

   pwd                  varchar(50)          null,

   quantity             int                  null,

   constraint PK_TB_AMDIN primary key (id)

)

2.       创建.net工程项目

2.1配置web.config

<appSettings>

    <add key="dbType" value="sqlserver2000"/>

    <add key="connStr" value="server=B3C34B6CCA724CA/SQLSERVER2000;database=db_cdchrm;uid=sa;pwd=sa"/>

  </appSettings>

3.       整体类结构:

4.       开发DAL

3.1结构

DataAccess接口代码:

using cdchrm.bll;

using System.Collections;

using System.Collections.Generic;

/// <summary>

/// DataAccess 的摘要说明

/// </summary>

namespace cdchrm.dataAccessLayer

{

    public interface DataAccess

    {

        int addAdmin(Admin admin);

        List<Admin> getAllAdmin();

        int updateAdmin(Admin admin);

        int deleteAdmin(int id);

        Admin getAdminById(int id);

    }

}

DataAccessSqlserver2000代码:

using cdchrm.bll;

using System.Data.SqlClient;

using cdchrm.util;

using System.Collections;

using System.Collections.Generic;

/// <summary>

/// DataAccessSqlserver2000 的摘要说明

/// </summary>

namespace cdchrm.dataAccessLayer

{

    public class DataAccessSqlserver2000:DataAccessHelper,DataAccess

    {

        public DataAccessSqlserver2000()

        {

           

        }

 

        public int addAdmin(Admin admin) {

           

            //sql语句

            string sql = string.Format("insert into tb_amdin(name,pwd,quantity) values('{0}','{1}',{2})", admin.Name, admin.Pwd, admin.Quantity);

            this.open();

            SqlCommand sqlcmd = new SqlCommand(sql,this.getConn());

            sqlcmd.ExecuteNonQuery();

 

            close();

            return GlobalConst.SUCCESS;

        }

 

        public List<Admin> getAllAdmin()

        {

            List<Admin> list = new List<Admin>();

            Admin admin = null;

            string sql = "select * from tb_amdin";

            this.open();

            SqlCommand sqlcmd = new SqlCommand(sql, this.getConn());

            SqlDataReader sda;

            sda = sqlcmd.ExecuteReader();

            while(sda.Read()){

                admin = new Admin();

                admin.Id = Convert.ToInt32(sda["id"].ToString());

                admin.Name = sda["name"].ToString();

                admin.Pwd = sda["pwd"].ToString();

                admin.Quantity = Convert.ToInt32(sda["quantity"].ToString());

                list.Add(admin);

            }

            return list;

        }

 

        public int updateAdmin(Admin admin) {

            //sql语句

            string sql = string.Format("update tb_amdin set name='{0}',pwd = '{1}',quantity={2} where id = {3}", admin.Name, admin.Pwd, admin.Quantity,admin.Id);

            this.open();

            SqlCommand sqlcmd = new SqlCommand(sql, this.getConn());

            sqlcmd.ExecuteNonQuery();

 

            close();

            return GlobalConst.SUCCESS;

        }

 

        public int deleteAdmin(int id) {

            //sql语句

            string sql = string.Format("delete from tb_amdin where id={0}", id);

            this.open();

            SqlCommand sqlcmd = new SqlCommand(sql, this.getConn());

            sqlcmd.ExecuteNonQuery();

 

            close();

            return GlobalConst.SUCCESS;

        }

 

        public Admin getAdminById(int id) {

            Admin admin = new Admin();

            string sql = string.Format("select * from tb_amdin where id ={0}", id);

            this.open();

            SqlCommand sqlcmd = new SqlCommand(sql, this.getConn());

            SqlDataReader sdr = sqlcmd.ExecuteReader();

            while (sdr.Read())

            {

                admin.Id = Convert.ToInt32(sdr["id"].ToString());

                admin.Name = sdr["name"].ToString();

                admin.Pwd = sdr["pwd"].ToString();

                admin.Quantity = Convert.ToInt32(sdr["quantity"].ToString());

            }

            return admin;

        }

    }

}

工厂类DBFactory

namespace cdchrm.dataAccessLayer

{

    public class DBFactory

    {

        private DBFactory()

        {

           

        }

 

        public static DataAccess getDataAccess() {

            string dbtype = ConfigurationManager.AppSettings["dbType"];

            if (dbtype.Equals("sqlserver2000")) {

                return new DataAccessSqlserver2000();

            }

            return null;

        }

    }

}

DataAccessHelper代码:

using System.Data.SqlClient;

/// <summary>

/// DataAccessHelper 的摘要说明

/// </summary>

namespace cdchrm.dataAccessLayer

{

    public class DataAccessHelper

    {

        private string connStr;

        private SqlConnection conn = null;

 

        public DataAccessHelper()

        {

            connStr = ConfigurationManager.AppSettings["connStr"];

        }

 

        public SqlConnection getConn()

        {

            if (conn == null)

            {

                conn = new SqlConnection(connStr);

            }

            return conn;

        }

 

        public void open()

        {

            if (conn == null)

            {

                conn = new SqlConnection(connStr);

            }

            if (conn.State.Equals(ConnectionState.Closed))

            {

                conn.Open();

            }

        }

 

        public void close()

        {

            if (conn != null)

            {

                conn.Close();

                conn = null;

            }

        }

    }

}

4.开发BLL层:

BLLBase代码:

using cdchrm.dataAccessLayer;

/// <summary>

/// BLLBase 的摘要说明

/// </summary>

namespace cdchrm.bll

{

    public class BLLBase

    {

        protected DataAccess db = null;

 

        public BLLBase()

        {

            db = DBFactory.getDataAccess();

        }

 

    }

}

Admin代码

using cdchrm.dataAccessLayer;

using System.Collections.Generic;

using System.Data.SqlClient;

/// <summary>

/// Admin 的摘要说明

/// </summary>

namespace cdchrm.bll

{

    public class Admin:BLLBase

    {

        private int id;

        private string name;

        private string pwd;

        private int quantity;

 

        public Admin() { }

        public Admin(int id,string name,string pwd)

        {

            this.id = id;

            this.name = name;

            this.pwd = pwd;

        }

 

        public int Id

        {

            get { return id; }

            set { id = value; }

        }

 

        public string Name

        {

            get { return name; }

            set { name = value; }

        }

 

        public string Pwd

        {

            get { return pwd; }

            set { pwd = value; }

        }

 

        public int Quantity

        {

            get { return quantity; }

            set { quantity = value; }

        }

 

        public int addAdmin() {

            return db.addAdmin(this);

        }

 

        public List<Admin> getAllAdmin() {

            return db.getAllAdmin();

        }

 

        public int updateAdmin(int id,string name,string pwd,int quantity) {

            this.id = id;

            this.name = name;

            this.pwd = pwd;

            this.quantity = quantity;

 

            return db.updateAdmin(this);

        }

 

        public int deleteAdmin(Admin admin)

        {

            return db.deleteAdmin(admin.id);

        }

 

        public Admin getByid(string id) {

            return db.getAdminById(Convert.ToInt32(id));

        }

    }

}

5.web:

web层可是直接使用Admin类传递显示值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值