终于写好 FlexQue

FlexQue主页地址:http://blog.youkuaiyun.com/flexitime/archive/2008/02/25/2118623.aspx

终于写好了FlexQue,现在增加了Executor模式,这个模式可以支持执行一些脚本,同时再显示数据,这些用于执行的脚本可以是Delete, Update等语句,也可以是StoreProcedure,另外还可以是Insert语句,这样有助于从一个数据库中交换到另一个数据库中,基本上可以满足报表的生成及显示,这样比起之前单一使用Select要功能强得多。
唯一有小小遗憾的是,这些窗单的设置没有使用XML格式,这是由于当时太懒,懒得学XML(其实XML我是懂一点点的,之前也有个程序用XML来做设定),而且觉得XML对于这个应用来说的话有点大材小用,所以就不用了。最后列一下Executor的设置帮助:

@#MARK_BEGIN#@ ========================================================

FormTypeExecutor

存在两种Control段,以ScriptType来分类,分别是

Executor

    执行段。

脚本有InsertInsert_sCommandNotRun四种模式,通过ActionType的值进行分类。

全文脚本中可以有多个Executor段,以StepIndex来区分执行顺序

 

Display

    显示段。

用于显示执行后的结果

 

@#MARK_END#@ ==========================================================

 

@#MARK#@ ===========================================================

@#MARK#@ ===== Executor (Command模式) =============================

@#CONTROL_BEGIN#@

 

@#MARK#@ == Executor段的声明

@#SECTION#@ ScriptType

@#BEGIN#@

Executor

@#END#@

 

@#MARK#@ == 采用Command的模式

@#SECTION#@ ActionType

@#BEGIN#@

Command

@#END#@

 

@#MARK#@ == 指定数据库连接串

@#SECTION#@ ConnectName

@#BEGIN#@

flextest

@#END#@

 

@#MARK#@ == 执行的顺序,注:可不按完整的数字顺序,程序只比较该段的字符串值来决定执行顺序

@#SECTION#@ StepIndex

@#BEGIN#@

1

@#END#@

 

@#MARK#@ == 执行时显示的提示文字说明

@#SECTION#@ Caption

@#BEGIN#@

更新 Amount/Year....

@#END#@

 

@#MARK#@ == Command模式下所占用的步长值(整数值),用于显示。Command模式专用,

@#MARK#@ == 省缺为1

@#SECTION#@ StepCount

@#BEGIN#@

2

@#END#@

 

@#MARK#@ == 用于执行的SQL语句,各语句间使用‘;’号作分隔,如果语句中要用分号,

@#MARK#@ == 需要表示成‘/;’的形式。注意:这些语句都不能有返回值,即便有返回值,

@#MARK#@ == 程序也不作处理,一般可用于update, delete , create table

@#SECTION#@ SQL

@#BEGIN#@

update Pivot set amount = amount + 1;

update pivot set year = year - 1;

update pivot set kf = 'Ctrl1.Value';

@#END#@

 

@#CONTROL_END#@

 

@#MARK#@ ==========================================================

@#MARK#@ ===== Executor (Insert模式) ============================

@#CONTROL_BEGIN#@

 

@#MARK#@ == Executor段的声明

@#SECTION#@ ScriptType

@#BEGIN#@

Executor

@#END#@

 

@#MARK#@ == 采用Insert的模式

@#SECTION#@ ActionType

@#BEGIN#@

Insert

@#END#@

 

@#MARK#@ == 指定数据库连接串

@#SECTION#@ ConnectName

@#BEGIN#@

flextest

@#END#@

 

@#MARK#@ == 执行的顺序,注:可不按完整的数字顺序,程序只比较该段的字符串值来决定执行顺序

@#MARK#@ == 另此执行顺序的编号将与Loader段相关

@#SECTION#@ StepIndex

@#BEGIN#@

2

@#END#@

 

@#MARK#@ == 执行时显示的提示文字说明

@#SECTION#@ Caption

@#BEGIN#@

插入 prntest....

@#END#@

 

@#MARK#@ == 用于插入的SQL语句

@#SECTION#@ SQL

@#BEGIN#@

insert prntest(prn , bname , cydate, days) values (:1, :2, :3, :4)

@#END#@

 

@#MARK#@ == 用于读取的SQL语句,注意:返回的字段数必须与插入语句的参数值对应。

@#SECTION#@ Load_SQL

@#BEGIN#@

select prn, name, cydate, days from ba2

where cydate >=  '@#CTRL1.Begin.YYYY/MM/DD#@'

and cydate < '@#CTRL1.AfterEnd.YYYY/MM/DD#@'

@#END#@

 

@#MARK#@ == 用于读取的数据库连接串

@#SECTION#@ Load_ConnectName

@#BEGIN#@

flextest_otherdb

@#END#@

 

@#CONTROL_END#@

 

@#MARK#@ ==========================================================

@#MARK#@ ===== Executor (Insert_S模式)(分日期片插入,作用与Insert一样,

@#MARK#@ ===== 但将会自动将日期段值分拆成逐天执行,主要用于大规模的数据交换。)

@#CONTROL_BEGIN#@

 

@#MARK#@ == Executor段的声明

@#SECTION#@ ScriptType

@#BEGIN#@

Executor

@#END#@

 

@#MARK#@ == 采用Insert的模式

@#SECTION#@ ActionType

@#BEGIN#@

Insert_S

@#END#@

 

@#MARK#@ == 指定数据库连接串

@#SECTION#@ ConnectName

@#BEGIN#@

flextest

@#END#@

 

@#MARK#@ == 执行的顺序,注:可不按完整的数字顺序,程序只比较该段的字符串值来决定执行顺序

@#MARK#@ == 另此执行顺序的编号将与Loader段相关

@#SECTION#@ StepIndex

@#BEGIN#@

3

@#END#@

 

@#MARK#@ == 执行时显示的提示文字说明

@#SECTION#@ Caption

@#BEGIN#@

插入 prntest....

@#END#@

 

@#MARK#@ == 分片时关联的日期段控件的序号,可省略,默认值为1。注:Insert_S特有

@#SECTION#@ RelatedDateSegmentControl

@#BEGIN#@

2

@#END#@

 

@#MARK#@ == 用于插入的SQL语句

@#SECTION#@ SQL

@#BEGIN#@

insert prntest(prn , bname , cydate, days) values (:1, :2, :3, :4)

@#END#@

 

@#MARK#@ == 用于读取的SQL语句,注意:返回的字段数必须与插入语句的参数值对应。

@#SECTION#@ Load_SQL

@#BEGIN#@

select prn, name, cydate, days from ba2

where cydate >=  '@#CTRL1.Begin.YYYY/MM/DD#@'

and cydate < '@#CTRL1.AfterEnd.YYYY/MM/DD#@'

@#END#@

 

@#MARK#@ == 用于读取的数据库连接串

@#SECTION#@ Load_ConnectName

@#BEGIN#@

flextest_otherdb

@#END#@

 

@#CONTROL_END#@

 

@#MARK#@ ==========================================================

@#MARK#@ ===== Executor (NotRun模式)(用于暂定某段使用)

@#CONTROL_BEGIN#@

 

@#MARK#@ == Executor段的声明

@#SECTION#@ ScriptType

@#BEGIN#@

Executor

@#END#@

 

@#MARK#@ == 采用Insert的模式

@#SECTION#@ ActionType

@#BEGIN#@

NotRun

@#END#@

@#CONTROL_END#@

 

@#MARK#@ ==========================================================

@#MARK#@ ===== Display 内容与DynaSampleEdit类似 ==========

@#CONTROL_BEGIN#@

 

@#SECTION#@ ScriptType

@#BEGIN#@

Display

@#END#@

 

@#SECTION#@ ConnectName

@#BEGIN#@

flextest

@#END#@

 

@#SECTION#@ QueryType

@#BEGIN#@

normal

@#END#@

 

@#SECTION#@ SQL

@#BEGIN#@

select * from Pivot

@#END#@

 

@#SECTION#@ FieldCaptions

@#BEGIN#@

;

@#END#@

 

@#SECTION#@ FieldWidths

@#BEGIN#@

@#END#@

@#CONTROL_END#@

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值