此是一系列博文,最后一篇了。也是面向初学者而作,望你们能有更好,更多对ASP.NET面向对编程了解与认识。

前一篇中《ASP.NET开发,从二层至三层,至面向对象 (4)http://www.cnblogs.com/insus/p/3837898.html 中,Insus.NET让大家了解到无需再写SQL语句,只管传入字段,或值,或条件,文中虽然列举了一些例子,但还可以任凭发挥与扩展。

Insus.NET在第三篇《ASP.NET开发,从二层至三层,至面向对象 (3)http://www.cnblogs.com/insus/p/3826706.html中,还实现了结合SQL Server的参数与存储过程类BizBaseSQLSp.cs。

此就是针对这个类别来实作应用,因为网友来信息谈及,是否有一个例子来演示怎样使用这个类。从最基本的开始。在数据库创建一个表,然后为这个表进行添加,编辑,更新或理删除等操作。

为了尽量演示这个类的所有public的方法或是函数,Insus.NET尽量详细地介绍与说明。

先开发数据库,创建一张表[dbo].[Employee],设计了三个字段。主键字段为[Work_nbr],数据类型为NVARCHAR,存储字符。

创建一个添加数据的存储过程[dbo].[usp_Employee_Insert]:

传入三个参数,在主体代码中,先要判断的主键是否存在,如果不存在,才添加记录。

创建一个存储过程[dbo].[usp_Employee_Getall],是获取所有该表的记录:

创建一个删除的存储过程[dbo].[usp_Employee_Delete],删除记录:

创建一个带条件获取某笔记录的某个字段值的存储过程[dbo].[usp_Employee_GetNameByNumber],以传入主键获取Scalar值。

以下的存储过程[dbo].[usp_Employee_IsExisting],是判断某个条件某笔记录是否已经存储表中:

最后一存储过程,是更新的存储过程[dbo].[usp_Employee_Update]

设计好了数据库,再加上上次写好的《ASP.NET开发,从二层至三层,至面向对象 (3)http://www.cnblogs.com/insus/p/3826706.html中,还实现了结合SQL Server的参数与存储过程类BizBaseSQLSp.cs。我们就可以利用这个逻辑来创建一个对象,这个对象名,一般以数据表名来命名,数据库中,每张表就可以实现一个对象。

分层开发,一些人设计与开发数据库,一些人开发逻辑层各个对象。下面是前端网页。创建一个aspx网页。在网页实现添加记录的功能:

在.aspx.cs实现ButtonAdd_Click事件:

接下来,实现呈现数据表的数据,也就是说,现示用户添加的记录,在网页中,拉一个GridView控件:

后台绑定GridView控件:

继续编写,我们需要实现一个删除记录的功能,也就是说,在GridView控件,点一点删除,能对GridView所被点击的记录删除。在GridView控件中,添加下面高亮部分html markup:

现在,我们在.aspx.cs实现删除的程序:

看看刚才实现的效果,是否有异常或理错误出现:

为了能对BizBaseSQLSp其它方法或是函数的应用,下面添加一文本框,输入工号,获取该工号对的的雇员名字:

下面是ButtonGet_Click事件程序,获取标量Scalar值:

不管是前端的javascript还是后台开发,均是一个功能,一个事件,对应实现。分清对象与思路。

再实一个功能,就是使用SqlDataReader来判断记录是否已经存,其实在添加记录时,Insus.NET写到的存储过程,就可以一步到步,先判断是否有存储,存在的话,return。

这只是html markup,你需要写Button1_Click事件,才能让这个功能能生动:

再来看看这个功能的实时演示操作:

就写到这里吧。有关编辑与更新,Insus.NET已经写好存储过程序,发挥一下你的动手能力。

ASP.NET开发,从二层至三层,至面向对象 (5)的更多相关文章

  1. ASP.NET开发,从二层至三层,至面向对象 (4)

    继续上一篇<ASP.NET开发,从二层至三层,至面向对象 (3)>http://www.cnblogs.com/insus/p/3826706.html .我们更深层次学会了逻辑层对象,即 ...

  2. ASP.NET开发,从二层至三层,至面向对象 (3)

    继续上一篇<ASP.NET开发,从二层至三层,至面向对象 (2)>http://www.cnblogs.com/insus/p/3825805.html .我们学会了怎样创建对象,把Biz ...

  3. ASP.NET开发,从二层至三层,至面向对象 (2)

    继续上一篇<ASP.NET开发,从二层至三层,至面向对象>http://www.cnblogs.com/insus/p/3822624.html .我们了解到怎样把自己的程序由二层变为三层 ...

  4. 【ASP.NET开发】.NET三层架构简单解析

    对于三层架构来说,主要是使用设计模式的思想,对于项目的各个模块实现"高内聚,低耦合"的思想.这里就不做详细的介绍了,如果大家有兴趣,可以阅读软件工程和设计模式相关文章. 对于三层架 ...

  5. ASP.NET开发,简化与封装

    ASP.NET开发,简化与封装 微软的ASP.NET的开发,就是面向对象的编程,当然前端也能体验至面向对象的话,使用Web控件也必须的. 任一控件,我们均可以在后端.aspx.cs或.aspx.vb程 ...

  6. 专门为ADO二层升三层的咏南中间件(特种用途)

    专门为ADO二层升三层的咏南中间件(特种用途) 演示下载:链接: https://pan.baidu.com/s/1bulGBIZ6A1nkeErxIrGsGA 密码: 22dk 解压后运行ynmai ...

  7. 为方便二层升三层新增的远程方法QuerySql6()

    为了方便原来D6,D7开发的二层老程序升级为三层,新增了远程方法QuerySql6().充分地兼容原来二层SQL的写法. 1)公共方法ParamsToStr() function ParamsToSt ...

  8. DELPHI7 ADO二层升三层新增LINUX服务器方案

    DELPHI7 ADO二层升三层新增LINUX服务器方案 引子:笔者曾经无数次在用户的LINUX服务器上创建一个WINDOWS虚拟机,用于运行自己DELPHI开发中间件. 现在再不需要如此麻烦了. 咏 ...

  9. 下一代Asp.net开发规范OWIN(1)—— OWIN产生的背景以及简单介绍

    随着VS2013的发布,微软在Asp.Net中引入了很多新的特性,比如使用新的权限验证模块Identity, 使用Async来提高Web服务器的吞吐量和效率等.其中一个不得不提的是OWIN和Katan ...

随机推荐

  1. CentOS中自动加载802.1q模块

    要想在CentOS中自动加载内核模块,需要在/etc/sysconfig/modules/目录中增加一个脚本,在此脚本中加载所需的模块. 下面是我所用的一个名为8021q.modules的脚本,用来在 ...

  2. Android SDK Mangaer 需要下载的组件

    以 Windows 下为例,安装完 Android SDK 后,可以看到 SDK 的目录结构如下: 其中: SDK Manager.exe 是 Android SDK 的管理工具, AVD Manag ...

  3. powerviot open error in sharepoint 2013

    Testing Service c2WTS +- Service c2WTS found +- Service c2WTS is running +- Path of service: C:\Prog ...

  4. 【译】准备好你求职时候用的 GitHub 账号

    我目前正在招聘,很多人分享了他们的GitHubs个人资料和项目,但是维护得很差,所以我决定为活跃的求职者写一个小指南. 无论是否合理,技术招聘人员倾向于从您的GitHub个人资料中推断出很多关于您的信 ...

  5. Android .9 图片

    最初对 .9 图片不是十分理解,一些教程让人摸不到头脑. 最近重新研究终于明白了它的原理. 其实最重要的一点记住就可以了,就是 .9 图片的四条黑边的意义,每条黑边的意义都不一样: 顶部:在水平拉伸的 ...

  6. 07_python_集合深浅拷贝

    一.join li = ["李嘉诚", "麻花藤", "林海峰", "刘嘉玲"] s = "_".j ...

  7. [海外干货] BlackHat 2017 首日议题的所有 PPT以及材料

    今年是 Black Hat 举办的第 20 个年头,高温酷暑也挡不住全世界黑客和安全人员奔赴拉斯维加斯的热情.毕竟这可是一年一度的盛大狂欢啊.今年的 BHUSA 从美国东部时间时间 7 月 22 日( ...

  8. hashMap tableSizeFor 实现原理

    基于jdk1.8 hashMap实现,要求容量大小是2的整次方,例如:2/4/8/16/32/64/128...,而不能是中间的某个值.这是为什么呢? map是数组+链表的数据结构,读写数据都需要首先 ...

  9. js缓存问题,修改js后代码不生效

    问题描述 最近在上线新版本项目的时候,发现有的用户的操作还是调用的老版本JS里面的内容,这样就造成原来新的JS里面加上的限制不能限制用户的操作,从而导致用户可以重复操作. 问题产生原因 如果在用户之前 ...

  10. Selenium自动化测试Python四:WebDriver封装

    WebDriver 封装 欢迎阅读WebDriver封装讲义.本篇讲义将会重点介绍Selenium WebDriver API的封装的概念和方法,以及使用封装进行自动化测试的设计. WebDriver ...