编码笔记

导航

2013年8月5日 #

通过TCustomAttribute和反射实现动态查询(一)

摘要: 利用TCustomAttribute和反射实现动态查询的管理。 在XE4中实现。 阅读全文

posted @ 2013-08-05 14:05 封三郎 阅读(967) 评论(0) 推荐(0) 编辑

SQL升级脚本实现按版本差异化升级(优化)

摘要: 1.增加了对SQL Server 2000的兼容;2.支持对脚本目录的批量处理;3.将脚本版本的判断放到具体的升级子脚本中去,让调度脚本更固化。-- 根据SQL的版本好确定启用xp_cmdshell的方式。declare @DBVersion varchar(50)select @DBVersion= cast(serverproperty('productversion') as varchar(50))declare @index intselect @index = charindex('.',@DBVersion)select @DBVersion = 阅读全文

posted @ 2013-08-05 11:06 封三郎 阅读(691) 评论(0) 推荐(0) 编辑

2013年8月2日 #

SQL升级脚本实现按版本差异化升级

摘要: 目前的项目里面,升级脚本是一个SQL文件,无论软件从哪个版本升级,都会把SQL文件里面的语句全部执行一遍,这样存在两个问题:1.SQL升级文件很庞大,几M很常见,导致文件的加载很慢;2.重复执行脚本内容,性能很低。但是目前的局限是安装包启动的升级程序,只能读取一个指定文件名的SQL脚本,脚本是批处理形式的,带了大量的GO,所以不能通过if xxxbegin 升级脚本end的形式来处理(语法不支持),于是只能另想办法,每一个版本生成一个Update脚本,通过一个调度脚本来决定执行哪些升级脚本。这样就必须使用到xp_cmdshell和osql。考虑到升级的时候,升级程序并不能告诉脚本sa密码和当. 阅读全文

posted @ 2013-08-02 14:42 封三郎 阅读(1221) 评论(0) 推荐(0) 编辑

2013年6月9日 #

SQL与批处理

摘要: 想通过一个SQL脚本,启用一个批处理,然后在批处理里面执行若干脚本。SQL脚本内容如下: exec Sp_Configure 'Xp_CmdShell',1 RECONFIGURE --配置可以执行CMD命令 exec xp_cmdshell 'D:\xxx.bat' exec Sp_Configure 'Xp_CmdShell',0 --关闭执行CMD命令 RECONFIGURE批处理文件内容如下:@echo offecho ***用批处理执行升级脚本***rem os... 阅读全文

posted @ 2013-06-09 18:06 封三郎 阅读(328) 评论(0) 推荐(0) 编辑

2013年6月5日 #

Delphi XE2 DataSnap服务器时序

摘要: 属性设置前提:(生命周期:Session)DataSnap Server启动:ServerContainerUnit->DSServerClass1GetClassServerContainerUnit->DataModuleCreateDataSnap Client连接服务器:ServerContainerUnit->DSAuthenticationManager1UserAuthorizeServerContainerUnit->DSServer1ConnectDataSnap Client调用服务器方法:ServerContainer->DSServerCl 阅读全文

posted @ 2013-06-05 16:04 封三郎 阅读(604) 评论(0) 推荐(0) 编辑

2013年5月18日 #

Activity状态图等

摘要: 阅读全文

posted @ 2013-05-18 11:15 封三郎 阅读(165) 评论(0) 推荐(0) 编辑

2013年3月16日 #

Delphi开发Windows服务程序

摘要: 开发步骤: 1、New->Other->Service Application 2、现在一个服务程序的框架已经搭起来了,打开Service1窗口,有几个属性说明一下: AllowPause:是否允许暂停 AllowStop: 是否允许停止 Dependencies: 设置服务的依存关系,服务的启动是否依赖于某个服务或者组 DisplayName: 在“服务”窗口显示的名称 Interactive: 设置为true时可以和Windows桌面进行交互,如果我们想在服务里显示窗体的话此设置就要设置为true,另外ServiceType必须为stWin32 Password: 密码... 阅读全文

posted @ 2013-03-16 13:11 封三郎 阅读(436) 评论(0) 推荐(0) 编辑

2013年2月27日 #

SQL逐行累加实现

摘要: 因业务需要查询实现第二行的数据为第一行加上第二行的值来处理,写下SQL语句,特记录如下,以备后用!selecta.id,sum(b.a)asbfromttasa,ttasbwherea.id>=b.idgroupbya.id说明tt为表名,id为排序名,a为数值 IDENTITY(INT,1,1)为自增网上找的资料如下:--对表中数据逐行累加declare@tempTabletable(SIDint,SCOREint)insert@tempTableselect1,10unionallselect2,20unionallselect3,30unionallselect4,40uniona 阅读全文

posted @ 2013-02-27 19:25 封三郎 阅读(8317) 评论(0) 推荐(0) 编辑

2013年2月22日 #

Delphi:TObject简要说明-对象的创建流程 (转载)

摘要: TObject = class //创建 constructor Create; //释放 procedure Free; //初始化实列 class function InitInstance(Instance: Pointer): TObject; //清除实列 procedure CleanupInstance; //获得类的类型 function ClassType: TClass; //获得了的名称 class function ClassName: ShortString; //判断类的名称 class function ClassNameIs(const Name: string 阅读全文

posted @ 2013-02-22 14:55 封三郎 阅读(1014) 评论(0) 推荐(0) 编辑

2012年6月14日 #

小型企业的十项财务标准

摘要: 专门研究小型企业的会计和顾问反复强调说,这样的企业不注重现金流量,而现金流量是衡量企业确实有多少现金的标准。对重大合同要谨慎Ronald Lowy 是大学公商管理系的主任,他说:“小型企业谈成了一笔大单,但是却陷入麻烦之中。小型企业希望赢得大合同,但是他们一方面没有足够的财力,并且没有现金储备来支付工人工资和其他开支,另一方面在等待别人付款给他们。根据债权标准来衡量,他们可能会显示赢利,但是,从现金流量的角度来看,他们没有赢利。”注册会计师 Judith Dacey 称现金流量表“可能是最重要的东西,它告诉您企业是否实现了预期目标。”例如,她描述了非赢利小组的董事会成员如何不关心他们的现金流量 阅读全文

posted @ 2012-06-14 13:47 封三郎 阅读(243) 评论(0) 推荐(0) 编辑