6.1.2需要返回结果的网格文件

在命令行中直接用esprocx命令,缺省并不会在屏幕上输出结果。如果需要将dfx文件返回的结果显示出来,需要在执行时使用-R选项。首先,和用call函数调用的网格文件类似,在dfx文件中需要返回的数据,必须用return语句返回。如下面的网格文件D:\files\calculate1.dfx

 

A

B

1

=days(Day)

=string(Day,"EEE")

2

return A1

return B1

这个网格将返回给定日期所在的月的总天数,并计算出给定日期是星期几。使用了参数Day

先来看看添加了-R选项后的执行情况:

在这里,运行的时候并未设定参数,此时将使用默认的参数即01/01/2000计算。同时可以发现,这里A2B2中各自用return语句返回了一个结果,计算后会将结果依次列出。

如果准备设定参数,那么就要这个参数使用的是日期类型,日期或者时间类型的参数会涉及格式问题。在用命令行调用网格时,需要在集算器安装目录的esProc\config路径下配置文件raqsoftConfig.xml中,设置它们的格式:

<Esproc>

  <dateFormat>MM/dd/yyyy</dateFormat>

  <timeFormat>HH:mm:ss</timeFormat>

  <dateTimeFormat>MM/dd/yyyy HH:mm:ss</dateTimeFormat>

</Esproc>

如果调用时设定参数,那么执行情况如下:

此时得到的就是2012222日所在月的总天数,以及这天的星期。

 

下面的网格文件D:\files\calculate2.dfx和前面的略有不同,将返回的结果构成了序列:

 

A

B

1

=days(Day)

=string(Day,"EEE")

2

return [A1,B1]

 

执行情况如下:

可以看到,结果序列中的成员会依次列出,各占一行。

 

最后,再来看下面的网格文件D:\files\calculate3.dfx

 

A

B

1

$(demo) select * from CITIES

$select * from STATES

2

=A1.switch(STATEID,B1:STATEID)

=A2.new(CID,NAME:City,STATEID.NAME:State)

3

=B2.select(left(City,1)==Letter)

 

4

return A3

 

网格中使用了一个参数Letter

在这个网格中,使用了数据库中的数据。在这里使用的数据连接,需要在集算器安装目录的esProc\config路径下的raqsoftConfig.xml进行配置:

<DBList>

<DB name="demo">

  <property name="url" value="jdbc:hsqldb:hsql://127.0.0.1/demo"/>

  <property name="driver" value="org.hsqldb.jdbcDriver"/>

  <property name="type" value="HSQL"/>

  <property name="user" value="sa"/>

  <property name="password" value=""/>

  <property name="batchSize" value="1000"/>

  <property name="autoConnect" value="true"/>

  <property name="useSchema" value="false"/>

  <property name="addTilde" value="false"/>

  <property name="dbCharset" value="GBK"/>

  <property name="clientCharset" value="GBK"/>

  <property name="needTransContent" value="false"/>

  <property name="needTransSentence" value="false"/>

  <property name="caseSentence" value="false"/>

</DB>

</DBList >

更具体的配置方法,请查看相关文档。

执行后,运行结果如下:

在设置字符串类型的参数时,直接设定即可,不用添加双引号。在上面的结果中,列出了首字母为B的城市信息。序表或者排列类型的结果,在显示时,每条记录占一行,各个字段之间用制表符分隔。

 

上面提到的配置文件raqsoftConfig.xml,是与IDE共用的,因此日期格式、数据源配置等信息,可以在IDE中编辑。在菜单栏中点击Tool>Option,即可在Option窗口的Environment中配置日期格式等信息。

点击Tool>Datasource connection,可以在数据源管理器中配置数据库连接参数等信息。具体的配置方法可以查看4.2数据库配置