且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

处女篇:ObjectDataSource+CodeSmith实现基础增删改查功能

更新时间:2022-10-02 14:11:15

前言:

看别的人博客看多了,自己写博客还是第一次。这里就分享点破东东。    

SqlDataSource:初学入门者,大伙都会用得比较多,里面一个代码也不用写,排序分页编辑删除插入等功能都给你弄好了。很好用!

缺点:

可惜一个缺点,代码和html都搅在一块了,所以,为了分层结构的需要:ms推荐使用SqlObjectDataSource,可是这个控件需要自己写代码的。

每个方法都要自己写代码,有点烦,不过不用担心,从现在开始,你一个代码不用写,也能用的和SqlDataSource一样啦!

工具:

CodeSmith:大家可能比较少听过(当年传说中.net开发人员必备的十大工具之一,现在基本都普遍了),他有何神奇的功能呢?

--我没深入过,不过体会了一点点功能,我用它实现了sqlObjectDataSource无需手代码实现了一样排序分页编辑删除插入等的功能。

研究:

以下为本人的研究过程(可看可不看):

1:看先学一步步学习ObjectDataSource,学习地址:http://www.cnblogs.com/mqingqing123/archive/2006/04/06/368452.html 

2:在里发的网友评论里发一了这个:利用ObjectDataSource,无需写一行代码完成添加、删除、编辑、分页、排序。支持大量数据库的查询优化及分页。

 网址如下:http://blog.sxia.net/article.asp?id=2,里面有视频演示,我看了N遍,才发现里面用到了CodeSmith这个工具。(暂停按钮很隐蔽,找了N年找不到,看了很多遍)。

上网搜了这个工具后,看了一些帮助,了解了一点点语法。然后按着视频演示照做了一遍,其实中的搜索功能实现不了,其它马马虎虎是实现了。

里面还调用了一个.dll文件,里面代码无法看清(代码混淆过)。经过小小研究,发现里面的bug还真多:

a:无法按关键字排序;

b:插入数据时非得要全部填写,不然准报错;

c:对null值根本没处理,只要数据库本身已存在null值,弄一下排序,更新之类功能,就给你报错了。

(一步步一步学ObjectDataSource的博客里的也存在这样的缺陷)
改良:

接下来是本人的研究改良与分享:我用CodeSmith弄了两天,终于弄了个模版出来,不用依赖人家的.dll文件了。

花时间的关键在于解决了一般的null值处理(不过也不是很完善,有待再改进).
分享:

提供模版与之生成的示例提供下载:/Files/cyq1162/templeteAndinstance.rar
顺便还提供一个4M多一点的视频演示,上传给大家下载了(弄了N个小时,上传了N个小时,老是说系统忙),
地址如下:/Files/cyq1162/playInstance.zip

版权声明:本文原创发表于博客园,作者为路过秋天,原文链接:http://www.cnblogs.com/cyq1162/archive/2006/08/29/489405.html