实现一个单表的增删改查需要多少时间(只说编码阶段,设计阶段不算)?我的答案:5-10分钟。我也不知道这个速度是快还是慢,您的时间呢?这个就是上次园子里的活动(5月23日)的我的演讲主题。点点鼠标就可以实现简单的增删改查的功能,不用为编写代码,修改代码烦恼了。至少减少了一大部分的代码。
简单的需求,点点鼠标就可以了,那么复杂的需求呢?还是要写代码,哈哈。
不要被我误导了哦,关于什么时候写代码的问题,请看这里:http://www.cnblogs.com/jyk/archive/2009/06/21/1507594.html
单表的增删改查
我有一个梦想,那就是不用敲代码,只需要点点鼠标,就可以实现客户的需求。
可能您会说这是不可能的,但是有个梦想总没有错吧。我就是想实现我的这个梦想,虽然可能一辈子都达不到,但是我还想努力一下子,不想让自己后悔。如果不给自己找一个目标的话,那么活着是不是太没有意思了呢?编码是一种乐趣,那么怎么做才能够是一种乐趣,而不是应付差事呢?
好在现在已经获得了一点点成绩——单表的增删改查,这种情况已经达到了点点鼠标就可以完成的程度。独乐乐不如众乐乐,拿出来与大家分享。(有源码下载)
我们举一个用烂的例子吧,新闻表的增删改查。下面的功能都是给程序员用的,不是给客户用的。
实现步骤:
1、 编写数据库文档。Excel 格式的一个文档,这个还是需要键盘的,只用鼠标有点困难。不过这个应该属于设计阶段,不属于编码阶段。至于时间,那就可长可短了。
【表设计】
字段名 | 中文名 | 类型 | 大小 | 默认值 | 允许空 | 说明 |
News_Info | 新闻表 | |||||
NewsID | 主键 | int | 4 | 0 | 主键,自增 | |
NewsTitle | 新闻名称 | nvarchar | 30 | _ | 0 | 新闻名称 |
Content | 新闻内容 | ntext | 16 | _ | 0 | 新闻内容 |
AddedDate | 添加日期 | datetime | 8 | GetDate() | 0 | 添加日期 |
AddedUser | 添加人 | nvarchar | 10 | _ | 0 | 添加人 |
Hits | 人气 | int | 4 | 0 | 0 | 人气 |
2、 打开网页,输入网址,就是打开我的那个配置信息维护程序,也就是大家可以下载的Demo。用户名:admin,密码:123。(页面很难看,没有做任何的修饰)
【表1:登陆页面】
3、 进入“数据文档、建表”节点,我们可以看到Excel里面的记录的表名,在这里可以查看文档里的表、字段的说明。也可以根据文档里的内容在SQL Server 里面建立表,可以根据文档里的内容,添加配置信息到 Manage_Table和Manage_Columns表。做好基础工作,为后面的步骤做好准备。(1分钟以内)
【表2:查看表、字段】
【表3:添加表的扩展信息】(已经添加过的话,修改表信息)
【表4:添加字段的扩展信息】(已经添加过的不再添加,也不修改)
4、 打开“功能节点管理”节点,添加一个功能节点。不要看这里的控件这么多,就感觉很麻烦,其实只需要添加“节点名称”、“网址”即可,其他字段都是自动计算出来的,您看一看没有问题就可以直接使用了。这个功能刚作出来不久,没有经过长期的测试,所以有几个控件没有隐藏起来,不隐藏起来就可以直接看到内容是否正确。等确定没有问题后,可以把几个控件隐藏起来的。(1-2分钟)
【表5:功能节点列表】
【表6:添加节点】
5、 打开“分配配置信息”节点,这里可以做各种设置。
【表7:列表】
6、 单击“添加列表信息”按钮,打开页面,设置列表需要的信息,比如查看数据的表、视图,标题名称,排序字段、页记录数,添加、修改、删除用表等信息。(1-2分钟)
【表8:添加列表信息】
7、 单击“功能按钮维护”按钮,打开“节点里的功能按钮”页面,这里可以添加、修改需要的功能按钮。(1-2分钟)
【表9:功能按钮】
8、 单击“选择列表、表单的字段”按钮,打开选择字段的页面,选择列表、表单、查询里面需要的字段。(1分钟以内)
【表10:选择字段】
9、 设置列表、表单、查询条件。单击“列表字段维护”、“查询字段维护”、“表单字段维护”按钮,就可以进入相关的页面,对列表、表单、查询进行具体的调整。(0.5-3分钟)
【表11:调整列表】
【表12:修改查询条件】
【表13:调整表单布局】
10、 修改表单里的控件。因为根据文档里的内容自动生成的配置信息可能不能满足需求,比如“新闻内容字段”,只能自动生成单行文本,这个用于添加新闻显然是不适合的,那么就需要做一下适当的变化,我们可以打开“修改配置信息”节点,选择“News_Info”表,单击“查看字段”按钮。打开“修改字段的描述信息”页面,在这里我们可以对字段的配置信息进行修改。(1-3分钟)
【表14:字段信息列表】
【表15:修改字段配置信息】
11、 OK,现在可以添加新闻了。刷新左面的树,我们就会看到刚刚添加的这个节点,点击进入,点击添加按钮,看到表单了吧,填内容,然后保存。看到新添加的记录了没?然后修改记录,删除记录。
【表16:新闻管理】
12、 与角色的结合。添加了新的功能节点,又添加了按钮,那么角色管理会是什么样子的呢?添加新的功能节点、按钮之后,在添加角色的页面里,这些新添加的就会自动的出现。您可以根据客户的情况来修改角色,以便让可以使用该功能的用户可以使用新增加的功能。
【表17:添加角色】
从第四步开始(选择字段的除外),表格都是MyGird(我的显示数据的控件)绘制出来的,查询都是查询控件(MyFind)绘制出来的,表单也都是表单控件绘制出来的,当然也少不了QuickPager了。我只需要拖拽这几个控件就可以了。而且列表页面大都是dataList.aspx,表单页面有一半是dataForm.aspx 页面。
FAQ
1、 字段名变了怎么办?
这个简单,我们可以用【表15:修改字段配置信息】这里的功能来修改字段名,这里不仅会修改配置信息里的字段名,而且还会同时修改数据库里的表的字段名、数据库说明文档(Excel)里面的字段名称。这样就可以“强制”三者的同步更新。
2、 添加字段了怎么办?
这也简单,我们可以【表2:查看表、字段】在这里面,添加数据库里的表里的字段,然后在添加字段的配置信息,在后面的步骤就都一样了。
3、 删除字段了怎么办?
只要删除相关的配置信息即可。
4、 为什么不用实体类呢?
这个……。我们可以看【表10:选择字段】,当我们点了“选择”之后,右面出现了表的字段,那么这个和实体类是不是挺像的呢?这个是从表的角色来看的,表与字段。
还可以看【表11:调整列表】、【表12:修改查询条件】、【表13:调整表单布局】,这里就是从另外的角度来看了。从列表的角度,看看列表里面显示的是那些字段;从查询的角度,看看有哪些字段,都是什么查询方式;从表单的角度看,一个表单里需要哪些字段。
我觉得在一些情况下,这个比实体类好用多了,当然对于复杂的情况还是实体类好用。我也正在向如何让表单返回一个实体类出来。
5、 复杂的如何处理?
这个就不好说了,因为复杂也有许多情况,比如一般复杂的,比较复杂的,很复杂的,超级复杂的。这个一句话是说不明白的。这里说的就是一个最简单的情况,以后还会说其他的情况。我的原则:简单的情况,简单处理;复杂情况特殊处理。
如果您心急的话,可以下载Demo,看一下我的这些管理配置信息的写法,就是上面的那些图里的功能。因为这些都是用的类似的方式实现的。都是表单控件,查询控件等。
6、 你的权限通用吗?
这个我比较无语了,写了这么多,看到的回复最郁闷的就是这个。这里演示了添加节点和按钮的方式,添加完毕之后,在“添加角色”里面也可以立即看到新添加的节点和按钮。操作步骤也说了,Demo也提供下载,也有源码。大家自己看吧,如果你说这个是不通用的,那么就不通用好了。