问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

asp.net用三层架构如何实现数据的查询、删除以及录入信息,希望可以有实例说明,谢谢!

发布网友 发布时间:2022-04-10 07:20

我来回答

4个回答

热心网友 时间:2022-04-10 08:50

呼呼!亲爱的程序员你好,我也是个程序员,不过三层我写了很久了嘞,二楼的没有回答完整,因该是bin目录下面添加引用,然后选择项目,在把3层已用过来,下面是代码

实体层(model)

其实就是封装字段

namespace Cssmodel

{

    public class CssModel

    {

        private string _Sid;//定义一个静态的变量

        /// <summary>

        /// 账号

        /// </summary>

        public string Sid//封装字段

        {

            get { return _Sid; }

            set { _Sid = value; }

        }

        private string _pwd;//定义一个静态的变量

        /// <summary>

        /// 密码

        /// </summary>

        public string Pwd//封装字段

        {

            get { return _pwd; }

            set { _pwd = value; }

        }

    }

}

数据操作层(dal)

这个层写的就是连接数据库啊!数据库的增删改查代码啊,什么的

namespace CssDal

{

    /// <summary>

    /// 查询登陆添加用户操作类

    /// </summary>

    public class CjdengluDal

    {

        /// <summary>

        /// 查询登陆

        /// </summary>

        /// <param name="_name">用户名</param>

        /// <param name="_pwd">密码</param>

        /// <returns></returns>

        public bool select(CssModel _mdl)//定义方法名为select,参数为_mdl

        {

            bool f = false;//定义一个bool值 F,为假

            string _sql = string.Format("select * from guanliyuan where Szhanghao = '{0}' and Smima = '{1}'", _mdl.Sid, _mdl.Pwd);//SQL语句,调用参数

            DataTable ds = DBHelper.GetDataTable(_sql, null, CommandType.Text);//调用帮助类

            if (ds.Rows.Count > 0)//判断如果总行数大于0时,F为真

                f = true;

            return f;//返回一个f

        }

        /// <summary>

        /// 添加用户

        /// </summary>

        /// <param name="_name">用户名</param>

        /// <param name="_pwd">密码</param>

        /// <returns></returns>

        public int insert(CssModel _mdl)//定义一个int的方法

        {

            string _sql = string.Format("insert into guanliyuan (Szhanghao,Smima)values('{0}','{1}')", _mdl.Sid, _mdl.Pwd);

            return DBHelper.ExcuteBySQL(_sql, CommandType.Text, null);//调用帮助类

        }

        /// <summary>

        /// 删除用户

        /// </summary>

        /// <param name="_Sid">用户名</param>

        /// <returns></returns>

        public int delete(int _Sid)//定义一个int的方法

        {

            string _sql = string.Format("delete from guanliyuan where Sid = {0}", _Sid);//SQL语句,调用参数

            return DBHelper.ExcuteBySQL(_sql, CommandType.Text, null);//调用帮助类

        }

    }

  /// <summary>

        /// 修改用户

    /// </summary>

        /// <param name="_mdl"></param>

        /// <returns></returns>

        public int UpdateAdmin(AdminModel _mdl)//定义一个int的方法,参数为_mdl

        {

            string _s = "update guanliyuan set Szhanghao";//定义一个字符串,写入SQL语句

            _s += " = '{0}',Shaoma = '{1}',Smima = {2}";//拼接

            _s += " where Sid in ({3})";//拼接

            string _sql = string.Format(_s, _mdl.Sid, _mdl.Number, _mdl.Pwd, _mdl.Id);

            //定义字符串,传参

            return DBHelper.ExcuteBySQL(_sql, CommandType.Text, null);

            //调用帮助类,传参

        }

}

注:帮助类是我自己写的,你要的话我给你,不过最好自己写

业务逻辑层(bll)

这个层也就是调用数据操作层的方法

namespace CssBll

{

    public class CssdengluBll

    {

        /// <summary>

        /// 管理员登录,添加操作类

        /// </summary>

        CjdengluDal dal = new CjdengluDal();//实例化CjdengluDal类

        /// <summary>

        /// 管理员登录

        /// </summary>

        /// <param name="_name">用户名</param>

        /// <param name="_pwd">密码</param>

        /// <returns></returns>

        public bool login(CssModel _mdl)//定义一个bool的方法,方法名为login,参数为_mdl

        {

            return dal.select(_mdl);//返回一个dal,调用select方法,传参

        }

        /// <summary>

        /// 管理员添加

        /// </summary>

        /// <param name="_name">用户名</param>

        /// <param name="_pwd">密码</param>

        /// <returns></returns>

        public int Add(CssModel _mdl)//定义一个int的方法,方法名为Add,参数为_mdl

        {

            return dal.insert(_mdl);//返回一个dal,调用insert方法,传参

        }

        /// <summary>

        /// 管理员删除

        /// </summary>

        /// <param name="_mdl">用户名</param>

        /// <returns></returns>

        public int shanchu(int _Sid)//定义一个int的方法,方法名为shanchu,参数为_mdl

        {

            return dal.delete(_Sid);//返回一个dal,调用delete方法,传参

        }

    }

 /// <summary>

        /// 修改管理员

        /// </summary>

        /// <param name="_mdl"></param>

        /// <returns></returns>

        public int Insert(AdminModel _mdl)//定义一个bool的方法,方法名为select,参数为_mdl

        {

            return _dal.UpdateAdmin(_mdl);//返回一个dal,调用select方法,传参

        }

}

下面是页面调用

using CssBll;//导入业务逻辑层

using Cssmodel;//导入实体层

public partial class SanCengDengLu : System.Web.UI.Page

{

    CssModel model = new CssModel();//实例化实体层

    CssdengluBll bll = new CssdengluBll();//实例化业务逻辑层

    protected void Page_Load(object sender, EventArgs e)

    {

    }

    protected void btndeng_Click(object sender, EventArgs e)

    {

        

        string _name = txtname.Text.Trim();//获取账号框的值

        string _pwd = txtpwd.Text.Trim();//获取密码框的值

        model.Sid = _name;//赋值

        model.Pwd = _pwd;//赋值

        if (bll.login(model))//判断如果调用业务逻辑层的登陆方法成功的话

        {

            Response.Write("登陆成功");//弹出一句话

        }

        else

        {

            Response.Write("登录失败");//弹出一句话

        }

    }

    protected void btndtian_Click(object sender, EventArgs e)

    {

        string _name = txtname.Text.Trim();//获取账号框的值

        string _pwd = txtpwd.Text.Trim();//获取密码框的值

        model.Sid = _name;//赋值    

        model.Pwd = _pwd;//赋值

        if (bll.Add(model) > 0)//判断如果调用业务逻辑层的添加方法,返回的行数大于0的话

        {

            Response.Write("添加成功");//弹出一句话

        }

        else

        {

            Response.Write("添加失败");//弹出一句话

        }

    }

    protected void btnshan_Click(object sender, EventArgs e)

    {

   string _name = txtname.Text.Trim();//获取账号框的值

        model.Sid = _name;//赋值    

        if (bll.shanchu(Sid) > 0)//判断如果调用业务逻辑层的删除方法,返回的行数大于0的话

        {

            Response.Write("删除成功");//弹出一句话

        }

        else

        {

            Response.Write("删除失败");//弹出一句话

        }

    }

           protected void btnshan_Click(object sender, EventArgs e)

    {

        string _name = txtname.Text.Trim();//获取账号框的值

        string _pwd = txtpwd.Text.Trim();//获取密码框的值

        model.Sid = _name;//赋值

        model.Pwd = _pwd;//赋值

            if (_bll.Insert(_mdl) > 0)

            {

 Response.Write("修改成功");//弹出一句话

            }

            else

            {

 Response.Write("修改失败");//弹出一句话

            }

        }

}

如果想用数据绑定控件(GridView,Repeater什么的)来绑定显示的话那么就如下(我用GridView演示)

              gvwlook.DataSource = _blls.Looks(); //调用业务逻辑层的GridView显示方法

        gvwlook.DataBind();

Looks的方法里面就写DataTable,如果你实在是看不懂帮助类的话,我还是在写一遍好了,

//查询

SqlConnection _con = new SqlConnection();//创建数据库连接对象

        _con.ConnectionString = "server = 独角戏-PC\\SQL2005;database = CKdb; uid = sa;pwd =sa123; ";//创建连接数据库字符串

        _con.Open();//打开数据库

        SqlCommand _cmd = new SqlCommand();//创建数据库操作对象

        _cmd.Connection = _con;

        _cmd.CommandText = "select * from xuexi";//SQL语句

        SqlDataReader dr = _cmd.ExecuteReader();//创建数据读取对象

     return dr

//添加

 SqlConnection _con = new SqlConnection();//创建数据库连接对象

        _con.ConnectionString = "server = 独角戏-PC\\SQL2005;database = CKdb; uid = sa;pwd =sa123; ";//创建数据库连接字符串

        _con.Open();//打开数据库

        SqlCommand _cmd = new SqlCommand();//创建数据库操作做对象

        _cmd.Connection = _con;

        _cmd.CommandText = "insert into xuexi(Slanmu,Stid)values('你家蛟哥四号','2')";//SQL语句

        int i = _cmd.ExecuteNonQuery();

 return  i;

//修改

  SqlConnection _con = new SqlConnection();//创建数据库连接对象

        _con.ConnectionString = "server = 独角戏-PC\\SQL2005;database = CKdb; uid = sa;pwd =sa123; ";//创建数据库连接字符串

        _con.Open();//打开数据库

        SqlCommand _cmd = new SqlCommand();//创建数据库操作对象

        _cmd.Connection = _con;

        string _sql = "update xuexi set ";//定义一个字符串,里面写入SQL语句

        _sql += "Slanmu = '你家蛟哥四号',Stid = '3'where Sid = 12";//拼接

        _cmd.CommandText = _sql;

        int i = _cmd.ExecuteNonQuery();

return  i;

//删除

 SqlConnection _con = new SqlConnection();//创建数据库连接对象

        _con.ConnectionString = "server = 独角戏-PC\\SQL2005;database = CKdb; uid = sa;pwd =sa123; ";//创建数据库连接字符串

        _con.Open();//打开数据库

        SqlCommand _cmd = new SqlCommand();//创建数据库操作对象

        _cmd.Connection = _con;

        _cmd.CommandText = "delete from xuexi where Slanmu = '你家蛟哥四号'";//SQL语句

        int i = _cmd.ExecuteNonQuery();

return  i;

好了,基本上就是这样了,我和你一样都是学生,大家有时间研究研究哦!我的QQ是1054709459,如果还是不懂的话,我写到你懂,ok???不过我觉得我的注释写的已经够全的了,要是看不懂,那真的是我表达有问题了,其实一个程序员并不是写代码有多牛,那这个程序员就有多牛,注释写的牛的程序员,那才是好的程序员,还有楼主,我不支持你用代码生成器,那东西是有一定编程经验的用才好,新手用的话,报个错都不知道怎么办,废话也说完了,题也写完了,还有一件事,请采纳

热心网友 时间:2022-04-10 10:08

那你去下个完整的三层架构源码来学习。

热心网友 时间:2022-04-10 11:42

很简单的就可以实现了。用listview这个控件,根本没什么技术问题!追问界面我已经建好了,我是想要从数据库里面逐一的将数据调出来!

追答调用数据库那是ado.net的技术了
很简单啊,俩种方法可以实现。在asp.net2.0的版本用普通的dataset方法,在3.5以后用强类型dataset来调用,非常简单

热心网友 时间:2022-04-10 13:34

还是学习下三层吧!
C# asp.net WebForm 的三层架构配合ListView实现增删改查源码

1、用Access新建一个表MResume,人事管理表:ID 姓名 性别 出生日期 工作年限 证件类型 证件号 居住地 Email 手机号码 家庭电话 图片 自我评价 2、控件的使用:bindingNavigator(实现分页功能), dataGridView(显示数据)在C# WinForm 中有这一个app.config的文件,这个文件的作用可以当作web程序中的webconfi...

ASP.net的三层架构

在ASP.NET中,该层可以用SqlClient或OleDb从SQL Server或Access数据库取数据,把数据通过DataSet 或DataReader的形式给BLL,BLL处理数据给表现层。有的时候,例如直接把DataSet 或DataReader送给表现层的时候,BLL是一个透明层。数据层(Data Tier)数据层是数据库或者数据源。在.NET中,通常它是一个SQL ...

asp.net 网站项目 如何实现三层架构?

需要说明一下,三层结构不是.NET的专利,也不是专门用在数据库上的技术。它是一种更加普适的架构设计理念。UI层就是与用户交互的界面、用户通过UI层向BLL层发出请求,BLL层再向DAL层发出请求,DAL链接数据库将所要的数据取出,再返回给业务逻辑层,BLL层对数据进行相应处理后呈现在界面上给用户。实际...

如何做好.NET三层框架的项目?

需要说明一下,三层结构不是.NET的专利,也不是专门用在数据库上的技术。它是一种更加普适的架构设计理念。此种架构要在数据库设计上注意表之间的关系,尽力满足主与子的关系。在功能上对用户要有一定的限制,不要表现在对于子表的删除操作一定要慎重,以免造成主表与子表的数据在逻辑上出现的主表的...

ASP.net 三层架构

也是整个系统里唯一允许访问数据库的地方。除此之外,还有一个业务实体层,这个层比较特殊,就是定义实体类的地方,有些人把这个层归属业务层,有些人把这个独立出来,变成一个公共层。各个层次之间的访问关系:详细见:http://www.hewubaisha.com/archive/2008/11/14/20.aspx ...

ASP.NET三层架构DAL层连接数据库的方法

providerName="System.Data.SqlClient" /&gt; &lt;/connectionStrings&gt; 对你的DAL项目右键添加System.Configuration引用(必须步骤),添加Model项目引用 然后在DB类(假设为UserDAL.cs)using System.Configuration;//这个必须.using Model那个项目 public class UserDAL { public const string ConnectionString = ...

什么是ASP.NET里的三层架构的模式?(详细解说)

2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。3、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。MVC是 Model-View-Controller,严格说这三个加起来以后才是三层架构中的UI层,也就是说,MVC把三层架构中的...

asp.net 三层架构实体层的作用是什么

针对数据的增添、删除、修改、查找等。【实体层】贯穿于上面三层,他的作用就是在三层之间传递数据,这是面向对象的编程模式,举个例子:DAL的一个insert方法,需要传递ID,NAME,PWD等等三个参数,使用实体层,那么传递的参数就只有有个User类,这样的好处就是减少系统出错的可能,提高开发效率~~...

有ASP.net大神吗?谁能帮我分析一个案例,他是用三层架构写的,里面有很...

呼呼!亲爱的程序员你好,我也是个程序员,不过三层我写了很久了嘞,二楼的没有回答完整,因该是bin目录下面添加引用,然后选择项目,在把3层已用过来,下面是代码 实体层(model) 其实就是封装字段 namespace Cssmodel { public class CssMode......

ASP.net中所说的三层架构是指什么

ASP.NET所说的三层架构是指MVC架构。MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式。Model(模型)表示应用程序核心(比如数据库记录列表)。View(视图)显示数据(数据库记录)。Controller(控制器)处理输入(写入数据库记录)。MVC 模式同时提供了对 HTML...

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
孩子的冠姓权是怎么回事? 如何看待孩子冠姓权问题? 意定监护协议样本内容是什么? 自愿放弃监护权合同范本是怎样的? 放弃孩子监护权协议书怎么写? 自愿变更监护权协议书怎么写? 变更监护权协议书怎么写? 子女监护权变更协议范本是怎样的? 变更子女监护权协议书 宝诗龙Epure焦特普尔之蓝腕表:诠释极致经典 如何将解压已下载的压缩文件??? SYSTEM.GHO这个解压过的文件该怎么装? 解压好的文件怎么用迅雷下载 怎么下载解压缩的文件 微云解压过的软件怎么下载 成龙上过几次春晚?分别是哪一年上的?节目的名字叫什么? 失控判定原理与方法 张艺兴在哪个台春晚2020? 2021年春晚会有陈伟霆吗会参加吗 请教控制图上下控制界限的确定 运用控制图有利于及时判断工序是否处于稳定状态 成龙有没有上过中央春节联欢晚会的舞台? 在SPC控制图中,有一条原则是“如果点在中心线附近过于集中,也是一种异常情况”,这怎么理解? 绘制控制图时确定合理子组的基本原则是什么? 半导体封装控制图常用判异准则有哪些 求2020年爱奇艺自制的潮流经营体验节目《潮流合伙人第二季》免费观看百度云资源。 SPC实施中有哪些误区值得特别注意?? 《向往6》还未播出,爱奇艺就推同类综艺嘉宾,网友为何很期待陈伟霆? SPC的判异原则中,为何要选用连续14点交替上升和下降这一条? 2021年央视春晚有陈伟霆吗? 以G开头 Y为结尾的英文名字都是哪些 我要全部 G打头的英文名字(女生) 金手镯怎样合手型 面试时,面试官问你有什么优点和缺点?你觉得你有什么能力可以胜任这份工作?怎样答才让面试官满意呢? 应聘时怎么回答你认为你有什么能力胜任这个工作 面试官问你认为你自己有什么优势来支持你跨行找工作? 你能胜任销售工作的优势是什么 每当面试的时候,面试官都会问,你的优点是什么,你凭什么能够胜任这个工作,该怎么回答,急急,谢谢 你去应聘时,当面试官问你,你有什么优势使你能够胜任这个职位?可以怎么回答? 你有什么理由能说服我你能胜任这份工作 你为什么认为你能胜任这方面的工作? 你觉得自己有哪些能力可以胜任目前的工作? 怎样查科目二的考试成绩,求网址 哪里可以查科目二成绩 车子定金交了没签合同能退定金吗 购车合同没签定金可以退么 车定金交了没签合同能退定金吗 1518姓名测试打分巨风琴 真彩LED显示屏用多少平方电源线 测名字打分 王若希
  • 焦点

最新推荐

猜你喜欢

热门推荐