★★MemorySQl终于出世了 ★★(100)

  • 主题发起人 yeskert1
  • 开始时间
Y

yeskert1

Unregistered / Unconfirmed
GUEST, unregistred user!
大概一两年前,有朋友希望能用SQL查询Dataset里的数据。我答应试一下,但是后来一直没时间弄!春节前正好有时间,开始捣鼓它,现在终于出来了!封装成一个控件:TMMSQLDataset,把它放在DataModule上,然后在CommandText中写SQL,可以查询该DataModule上其他DataSet的内容。它把DataModule视作库,把dataset视作表。主要用于数据再组织、再封装,可用在中间层,或者对外接口。TMMSQLDataset继承自TClientDataset。欢迎使用!http://www.x-sql.net/downloadpage.aspx?id=33这个版本不支持大型二进制字段。下面是原帖(我提不了问题了,因为确认账号不了)写了个小程序,可以用SQL的方式查询文件。欢迎使用!1.2下载地址:http://www.x-sql.net/downloadpage.aspx?id=321.1下载地址:http://www.x-sql.net/downloadpage.aspx?id=311.0下载地址:http://www.x-sql.net/downloadpage.aspx?id=30
 
顶一个。
 
能不能用?请多提宝贵意见。
 
这个程序的优势在于排序和关联。关联是指目录间建立关系。单个目录的查询(单目录的查询我称之为“过滤”),跟windows的查询比,只在排序上有优势。排序,用order by还是很顺手的。
 
目前还不支持group和distinct,也不支持子查询。其他的基本上都支持。
 
szhcracker,谢谢你的鼓励!
 
挺有新意的,不错。
 
我一直都有这个想法,还真有人做了!!!
 
过几天发布MemorySQL控件,继承自ClientDataset。之所以叫做MemorySQl,因为它把窗体上或者datamodule上的其他dataset当作表,可以select from它们。
 
发布1.1:http://www.x-sql.net/downloadpage.aspx?id=31改进:1、支持group by,聚合函数有count、sum、min、max、avg2、界面有了变化,现在查询结果和SQL处于同一页3、修改了SQL中有中文,下次载入时报告错误的bug
 
我本来希望收集一些bug的,可惜没有人反馈。
 
不小心改了邮箱,结果要验证,但死活收不到验证码,换了N多个邮箱了!是不是根本就不发验证码了?那怎么办?
 
一方面,我觉得很适合TMMSQLDataset放在RemoteDataModule上,这样可以对外提供高度组织的数据,对实际业务数据进行封装。如果系统是多模块的,可以让模块之间的耦合更加松散。另一方面,对于那些很难表现的、数据高度聚合的图表,TMMSQLDataset将提供非常有力的支持!特别是配合以TClientDataset--可以随意定义结构并自由填充数据。
 
下一个版本,TMMSQLDataset将支持子查询和union,而且允许它访问RemoteDataModule中的数据。
 
聚合函数strsum的用法:例:strsum(name,',')得到的将是:张三,李四,王五,...我计划允许TMMSQLDataset使用自定义的聚合函和自定义的函数。
 
内存查询是个技术活,因为SQL解析是个技术活!有那么一段时间,对内存查询的需求非常强烈,但是慢慢地,这种需求越来越淡、直至消失于无形......为什么呢?1)Web系统,数据库查询也罢、内存查询也罢,反正都是在服务端进行,而现实中,客户端与服务端之间的通信往往占据最多的时间,因此,查询数据库和查询内存差别非常小;2)数据库本身的查询技术非常成熟乃至完善,如果数据库设计比较到位(主键、唯一索引等充分考虑)、查询应用时不至于总是全表扫描、返回必须的数据例如select id而非总是select *、有良好的分页技术的支持,那么数据库查询会相当高效、有效;3)所谓内存查询,其实只是查询条件的逐步叠加而已,也就是不断的有更多的and条件;......若干因素的整合,使我们对于内存查询的需求逐渐消失......数据库技术,是非常非常成熟的基础支撑技术,举例而言,基于数据库的主键或唯一索引来实现并发控制比费尽心机基于什么互斥、信号量来进行并发控制还要可靠,就是基于文件的独占锁定都很好!美国人比我们更了解和靠近底层,服气不服气是一回事,事实是另一回事!但是,仍然对 yeskert1 的工作深表景仰和赞叹!!!Delphi 很好很好非常好,但是她牢牢基于 Microsoft。我们今天看来,COM 很好很好非常好,用 Delphi、VC++、VB来开发COM都可以,过去很行,现在和 DotNet 的 AspDotNet 配合还是很行。但是突然发现,Borland 和 Delphi 可以没有,如果 Microsoft 没有,则中国会有 8000 家以上的软件公司关门(我们在内)。用友、金蝶这样的管理软件龙头企业,已经转到了 Java 阵营,而且脚踏 Microsoft 和 Java 两只船,这表明,中国的软件企业还是深深地思考了,并且准备长期生存和发展下去!
 
yeskert1,我把你不能验证的投诉,邮件通知soul了,应该可以很快解决的。
 
谢谢小雨哥!
 
还是不错的,很有创意在服务器端用这个显然没什么意义,但在客户端用还是不错,,支持。。
 
顶部