前言:
看别的人博客看多了,自己写博客还是第一次。这里就分享点破东东。
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
原文标题:无代码之-SqlDataSource,作者编辑于:2011-04-02