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

简介:

前言:

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

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

目录
相关文章
|
14天前
|
SQL 关系型数据库 MySQL
阿里云RDS云数据库全解析:产品功能、收费标准与活动参考
与云服务器ECS一样,关系型数据库RDS也是很多用户上云必买的热门云产品之一,阿里云的云数据库RDS主要包含RDS MySQL、RDS SQL Server、RDS PostgreSQL、RDS MariaDB等几个关系型数据库,并且提供了容灾、备份、恢复、监控、迁移等方面的全套解决方案,帮助您解决数据库运维的烦恼。本文为大家介绍阿里云的云数据库 RDS主要产品及计费方式、收费标准以及活动等相关情况,以供参考。
|
3月前
|
SQL 存储 关系型数据库
MySQL功能模块探秘:数据库世界的奇妙之旅
]带你轻松愉快地探索MySQL 8.4.5的核心功能模块,从SQL引擎到存储引擎,从复制机制到插件系统,让你在欢声笑语中掌握数据库的精髓!
144 26
|
5月前
|
SQL 数据库 开发者
Python中使用Flask-SQLAlchemy对数据库的增删改查简明示例
这样我们就对Flask-SQLAlchemy进行了一次简明扼要的旅程,阐述了如何定义模型,如何创建表,以及如何进行基本的数据库操作。希望你在阅读后能对Flask-SQLAlchemy有更深入的理解,这将为你在Python世界中从事数据库相关工作提供极大的便利。
568 77
|
5月前
|
存储 缓存 自然语言处理
评论功能开发全解析:从数据库设计到多语言实现-优雅草卓伊凡
评论功能开发全解析:从数据库设计到多语言实现-优雅草卓伊凡
144 8
评论功能开发全解析:从数据库设计到多语言实现-优雅草卓伊凡
|
5月前
|
XML 数据库 Android开发
Android数据库的使用(增删改查)
本文介绍了一个简单的数据库操作Demo,包含创建数据库、增删改查功能。通过5个按钮分别实现创建数据库、插入数据、删除数据、更新数据和查询数据的操作。代码结构清晰,适合初学者学习Android SQLite数据库基础操作。
149 5
|
5月前
|
数据库 Android开发 开发者
Android常用的room增删改查语句(外部数据库)
本文分享了将一个原生数据库驱动的单词APP重构为使用Room库的过程及遇到的问题,重点解决了Room中增删改查的常用语句实现。文章通过具体示例(以“forget”表为例),详细展示了如何定义实体类、Dao接口、Database类以及Repository和ViewModel的设计与实现。同时,提供了插入、删除、更新和查询数据的代码示例,包括模糊查询、分页加载等功能。此外,针对外部数据库导入问题,作者建议可通过公众号“计蒙不吃鱼”获取更多支持。此内容适合有一定Room基础的开发者深入学习。
188 0
Android常用的room增删改查语句(外部数据库)
|
7月前
|
SQL Linux 数据库
【YashanDB知识库】崖山数据库Outline功能验证
本文来自YashanDB官网,主要测试了数据库优化器在不同场景下优先使用outline计划的功能。测试环境包括相同版本新增数据、绑定参数执行、单机主备架构以及数据库版本升级等场景。通过创建表、插入数据、收集统计信息和创建outline等步骤,验证了在各种情况下优化器均能优先采用存储的outline计划。测试结果表明,即使统计信息失效或数据库版本升级,outline功能依然稳定有效,确保查询计划的一致性和性能优化。详情可见[原文链接](https://www.yashandb.com/newsinfo/7488286.html?templateId=1718516)。
【YashanDB知识库】崖山数据库Outline功能验证
|
7月前
|
NoSQL 关系型数据库 MongoDB
Apifox与Apipost数据库连接功能详细对比,让接口管理更高效!
在现代软件开发中,数据库是应用运行的核心组件,接口管理工具则是连接和调试数据库的重要桥梁。本文对比了 Apifox 和 Apipost 两款工具的数据库连接功能。Apipost 支持全面的关系型与非关系型数据库(如 MySQL、Redis、MongoDB),功能强大且免费,适合复杂项目;而 Apifox 在关系型数据库支持上表现良好,但非关系型数据库(尤其是 Redis)功能有限且收费,更适合中小项目以关系型数据库为主的需求。根据项目需求选择合适的工具,可显著提升开发效率和稳定性。
|
7月前
|
数据库连接 PHP 数据库
【YashanDB知识库】PHP使用ODBC使用数据库绑定参数功能异常
【YashanDB知识库】PHP使用ODBC使用数据库绑定参数功能异常
|
7月前
|
SQL 关系型数据库 数据库连接

热门文章

最新文章