如何实现100%的动态数据管道(三)
2008-04-27 00:32
387 查看
下面看看,如何根据中间层的数据,构建管道语法:
1.首先建立一个数据窗口对象:d_vdtcolumns
SQL语法是:
SELECTvdt_columns.utid,
vdt_columns.uid,
vdt_columns.upkey,
vdt_columns.udmid,
vdt_columns.udmname,
vdt_columns.unulls,
vdt_columns.uwidth,
vdt_columns.uscale,
vdt_columns.uname,
vdt_columns.udefault,
vdt_columns.ucheck,
vdt_columns.utname,
vdt_columns.uidentity
FROMvdt_columns
WHEREutname=:as_tname
2.准备工作就绪,下面就是主战场了,开始构建数据管道.
考虑到一个管道对象可以传输多个任务,建立一个对象nvo_pipetransattrib保存传输需要的语法:
它包含了一下的instance变量:
string is_objectname //表名
string is_syntax //管道语法
string is_sconnect='zw',is_dconnect='daixf' //源连接和目的数据库连接
string is_ptype,is_pcommit,is_errors //管道的几个属性
string is_sname,is_dname //源表名,目的表名
string is_sqlsyntax //管道的SQL语法
建立一个对象,从数据管道对象继承.
开始构造语法:写一个函数.
nvo_pipetransattribinv_attrib[]
stringls_syntax,ls_sourcesyntax,ls_destsyntax
intli,lj,li_ind,li_find,li_rows,li_identity
stringls_tablename,ls_default,ls_defaultvalue,ls_pbdttype
booleanlb_find
dec ld_uwidth,ld_prec,ld_uscale
string ls_types,ls_dbtype,ls_prikey,ls_name,ls_nulls,ls_msg,ls_title='of_constrpipesyntax()'
nvo_stringlnv_string
nvo_datastorelds_vdtcolumns
booleanlb_key
lds_vdtcolumns=createnvo_datastore
lds_vdtcolumns.dataobject='d_vdtcolumns'
lds_vdtcolumns.settransobject(SrcSqlca)
li=1
of_input(inv_attrib[li])
li_find=pos(inv_attrib[li].is_sqlsyntax,'*',1)
ifli_find>0then
lds_vdtcolumns.retrieve(as_tablename)
of_filterimg(lds_vdtcolumns)
li_rows=lds_vdtcolumns.rowcount()
forlj=1toli_rows
ls_name=lds_vdtcolumns.getitemstring(lj,'uname')
ls_types=lds_vdtcolumns.getitemstring(lj,'udmname')
li_identity=lds_vdtcolumns.getitemnumber(lj,'uidentity')1
1.首先建立一个数据窗口对象:d_vdtcolumns
SQL语法是:
SELECTvdt_columns.utid,
vdt_columns.uid,
vdt_columns.upkey,
vdt_columns.udmid,
vdt_columns.udmname,
vdt_columns.unulls,
vdt_columns.uwidth,
vdt_columns.uscale,
vdt_columns.uname,
vdt_columns.udefault,
vdt_columns.ucheck,
vdt_columns.utname,
vdt_columns.uidentity
FROMvdt_columns
WHEREutname=:as_tname
2.准备工作就绪,下面就是主战场了,开始构建数据管道.
考虑到一个管道对象可以传输多个任务,建立一个对象nvo_pipetransattrib保存传输需要的语法:
它包含了一下的instance变量:
string is_objectname //表名
string is_syntax //管道语法
string is_sconnect='zw',is_dconnect='daixf' //源连接和目的数据库连接
string is_ptype,is_pcommit,is_errors //管道的几个属性
string is_sname,is_dname //源表名,目的表名
string is_sqlsyntax //管道的SQL语法
建立一个对象,从数据管道对象继承.
开始构造语法:写一个函数.
nvo_pipetransattribinv_attrib[]
stringls_syntax,ls_sourcesyntax,ls_destsyntax
intli,lj,li_ind,li_find,li_rows,li_identity
stringls_tablename,ls_default,ls_defaultvalue,ls_pbdttype
booleanlb_find
dec ld_uwidth,ld_prec,ld_uscale
string ls_types,ls_dbtype,ls_prikey,ls_name,ls_nulls,ls_msg,ls_title='of_constrpipesyntax()'
nvo_stringlnv_string
nvo_datastorelds_vdtcolumns
booleanlb_key
lds_vdtcolumns=createnvo_datastore
lds_vdtcolumns.dataobject='d_vdtcolumns'
lds_vdtcolumns.settransobject(SrcSqlca)
li=1
of_input(inv_attrib[li])
li_find=pos(inv_attrib[li].is_sqlsyntax,'*',1)
ifli_find>0then
lds_vdtcolumns.retrieve(as_tablename)
of_filterimg(lds_vdtcolumns)
li_rows=lds_vdtcolumns.rowcount()
forlj=1toli_rows
ls_name=lds_vdtcolumns.getitemstring(lj,'uname')
ls_types=lds_vdtcolumns.getitemstring(lj,'udmname')
li_identity=lds_vdtcolumns.getitemnumber(lj,'uidentity')1
相关文章推荐
- 如何实现100%的动态数据管道(三)
- 如何实现100%的动态数据管道(一)
- 如何实现100%的动态数据管道(二)
- 如何实现100%的动态数据管道(二)
- 如何实现业务数据中,某个属性动态更新
- 如何用C#编程实现动态生成Word文档并填充数据?
- 如何利用Skyline的TerraExplorer Pro 6.5提供的API接口实现矢量图层数据的动态投影
- 如何实现象kali.com.cn一样,将鼠标移到动态数据上时,下面出现文本提示框?
- 原生js如何实现柱状图以及原生js柱状图结合ajax循环动态数据_JavaScript_柱状图(原生JavaScript做的柱状图)(03)_ajax获取数据
- webSocket 如何实现服务器端 想页面推送实时数据? 动态数据?如何进行连接?
- Excel问题处理,如何实现数据表的单元格数值的动态变化。
- PB如何实现动态建立菜单
- 如何实现两台服务器间无密码的传输数据和操作
- oracle 如何用触发器实现更新刚插入的数据
- WPF Datagrid Header数据绑定,表头复选框实现全选、全否、部分选中,根据条目动态变化
- [VB.NET]如何实现数据的关联?
- 如何实现从服务器端向页面动态加载JavaScript脚本?
- 深度解读|如何实现政务大数据开放与共享
- 如何利用简道云实现专柜管理? | 数据管理
- 图表中如何实现动态变更分类轴与系列值