这是一个很简单的内容。日常我们总腻烦做增删查改这样的重复性的劳动,如果你的项目不是太大,如果你的团队很小,或许就是你一个人,那么就完全可以参考以下这样简单的方式。微软已经给我们做了。我们只要写一行代码,便实现了增删查改。

以下以AccessDataSource为例,你只要写一行代码,便实现一个增删查改的页面。

一、我们先建立这个解决方案,使用Access做数据库。

二、看一下数据库表吧

我们的任务便是对这个Test表里面的数据进行增删查改。

三、在页面上拖入如下图的控件,意思很明显。

id是自增类型,time则自动获取时间,所以只需要录入title和content两个字段的内容,下面是一个gridview控件,使用数据源AccessDataSource1,通过使用AccessDataSource我们只要在add按钮的事件里写入一行简单的代码,便实现了增删查改。如下图:

编辑和删除功能集成在gridview控件里,不再需要另外写代码了。
是不是超级简单,那么我们看看在AccessDataSource里要做一些什么设置:

我们看到增删查改的四个sql语句都需要设置的,例如插入:

总之,sql语句的生成,都是可以在这个界面里拖拖便完成了。我们可以看看AccessDataSource的详细设置代码:

       <asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/App_Data/data.mdb"
            DeleteCommand="DELETE FROM Test WHERE (id = ?)" InsertCommand="INSERT INTO Test (title, content, [time]) VALUES (?,?,DATE())"
            SelectCommand="SELECT * FROM [Test]" UpdateCommand="UPDATE Test SET title = ?, content = ?, [time] = ? WHERE (id = ?)">
            <InsertParameters>
                <asp:ControlParameter ControlID="TextBox1" Name="title" PropertyName="Text" />
                <asp:ControlParameter ControlID="TextBox2" Name="content" PropertyName="Text" />
            </InsertParameters>
        </asp:AccessDataSource>

当然,在GirdView中也需要相应的增加修改和删除的按钮,不要紧,这些微软也都提供了:

在GridView的属性里,添加上图标出的两个CommandField。那么便大功告成了,就这么简单,我们看看GridView的代码:

        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="id"
            DataSourceID="AccessDataSource1">
            <Columns>
                <asp:BoundField DataField="id" HeaderText="id" InsertVisible="False" ReadOnly="True"
                    SortExpression="id" />
                <asp:BoundField DataField="title" HeaderText="title" SortExpression="title" />
                <asp:BoundField DataField="content" HeaderText="content" SortExpression="content" />
                <asp:BoundField DataField="time" HeaderText="time" SortExpression="time" />
                <asp:CommandField ShowEditButton="True" />
                <asp:CommandField ShowDeleteButton="True" />
            </Columns>
        </asp:GridView>

感言:参与过很多项目,还有一些所谓的大项目,很累,虽然有的一开始使用了许多设计模式,但可能由于人员水平层次不齐和前后接力的问题,到后来并没有完全遵守一些规则,最后导致乱七八糟。累死了。最近给一个教育行业的朋友写一个每天班主任登记学生考勤情况的页面,一共也就6个页面,操作三个表,典型的增删查改,就用微软给我们的吧,什么也不想,1小时全部测试完成,还包括研究探索的时间,晕,原来真的这样简单,原来的什么数据库链接字符串,等等,连web.config都可以省掉。

话说回来,学习和追求可还得要向园子里的大大们看齐,真正的企业级高可信级,还是得努力努力向他们学习。

转载于:https://www.cnblogs.com/goody9807/archive/2008/07/28/1255106.html

只需一行代码实现增删查改,微软已经让我们很简单。谈AccessDataSource的使用。...相关推荐

  1. python实现英文新闻摘要自动提取_利用Python实现摘要自动提取,完美瘦身只需一行代码...

    原标题:利用Python实现摘要自动提取,完美瘦身只需一行代码 今天给大家推荐一个也可以用于关键字提取的算法TextRank,但主要实现的功能是快速从长篇新闻中抽取精准摘要. 前言介绍 TextRan ...

  2. 【CVPR2020 Oral】只需一行代码就可提升迁移性能

    关注上方"深度学习技术前沿",选择"星标公众号", 精选文章,第一时间送达! 作者:Hassassin 知乎链接:https://zhuanlan.zhihu. ...

  3. 实现一个在JNI中调用Java对象的工具类,从此只需一行代码

    前言 我们知道在jni中执行一个java函数需要调用几行代码才行,如 jclass objClass = (*env).GetObjectClass(obj); jmethodID methodID ...

  4. 【Python】Modin,只需一行代码加速你的Pandas

    本文翻译自:Shrivarsheni的博客 Modin是一个Python第三方库,可以通过并行来处理大数据集.它的语法和pandas非常相似,因其出色的性能,能弥补Pandas在处理大数据上的缺陷. ...

  5. [JavaScript]只需一行代码,轻松搞定快捷留言-V2升级版

    前天熬了大半宿发了一篇[一行代码轻松搞定快捷留言功能],同时发布了V1.0beta版的快捷留言功能和源代码,之所以是beta版,就是当时感觉虽然基本功能有了,但是还不够完善,特性也不一定合理,今天不知 ...

  6. [JavaScript]只需一行代码,轻松搞定快捷留言功能

    快捷留言功能,就是您现在看到在右侧浮动的那个小玩意,通过它可以直接提交留言并推荐,您想在博客里加上这个功能吗? 别急,方法非常简单,还是先听我说说它的来历吧... 最开始,快捷留言这个功能要追溯到发表 ...

  7. 只需一行代码,纯文本秒变Markdown

    机器之心 机器之心编辑部 只要你有纯文本编辑器,加上一条语句,瞬间它就可以成为 Markdown 编辑器. Markdeep 是一个用来写纯文本的插件,它能以 Markdown 的语法与渲染方式纯文本 ...

  8. 只需一行代码,你的纯文本秒变 Markdown

    点击上方"视学算法",选择"星标"公众号 重磅干货,第一时间送达 只要你有纯文本编辑器,加上一条语句,瞬间它就可以成为 Markdown 编辑器. Markde ...

  9. 只需一行代码,你的纯文本秒变Markdown

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 本文转载自:机器之心 只要你有纯文本编辑器,加上一条语句,瞬间它就可以成为 Mar ...

最新文章

  1. NOI前总结:点分治
  2. IIS6.0下配置HTTP Gzip压缩 提高iis相应速度
  3. python正则判断列表是否有元素,python – 从列表中删除正则表达式元素
  4. 项目启动QRTZ_LOCKS‘ doesn‘t exist
  5. 什么是SFP光模块?SFP光模块小知识介绍!
  6. linux 认证考试 题库,Linux认证考试题库及答案
  7. CSS之Screen视图属性
  8. 老毛桃安装WIN7原版系统
  9. SQL语句的各种连接查询
  10. 计算机cpu温度显示原理,可以相信软件显示的CPU温度吗
  11. 鸿蒙不是Linux也不是安卓
  12. 幼儿园案例经验迁移_【投石问路】让案例分析成为幼儿教师自我成长的阶梯
  13. Linux - 麒麟17.04 删除桌面图标(计算机,主文件夹,回收站)与 Cairo-Dock 安装配置
  14. 『 云原生·Docker』Docker镜像分层与Docker镜像操作(二)
  15. PTK(Pulmonarytoolkit)环境搭建与 ITK4.13+VS2015的配置
  16. 程序的连接之符号和符号表
  17. Redis基本应用及Java代码实现
  18. vscode 注释多行代码_如何在Visual Studio Code中注释多行?
  19. booting from hard disk
  20. 开源星空照片_如何拍摄星空的好照片

热门文章

  1. 使用jQuery OCUpload实现excel文件一键上传功能
  2. Spring AOP概述及底层实现原理
  3. centos7设置时间为日本东京时间
  4. php7序列化,php 7.2中未序列化字符串时出现问题
  5. 基本语法及基本概念概述(标识符、访问修饰符、变量、数组、枚举、注释、空行、继承、接口、(对象、类、方法、实例变量)、关键字表)
  6. just函数 python_在python里写Monad
  7. Linux fork() 和 vfork()
  8. Python如何发布程序
  9. kali2 安装docker_Docker 装 kali 的全套操作
  10. linux怎么安装python包_linux下安装python软件包pymssql