继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

ObjectDataSource+CodeSmith

linux快速入门培训
关注TA
已关注
手记 266
粉丝 31
获赞 120

前言:

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

    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

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP