通用查询问题
想设计个通用查询窗口,可不知道当前在用的表名,字段怎么获得.又如何返回查询的结果到打开的窗口中.注意:是通用的查询窗口.请高手指点! 问题点数:30、回复次数:14Top
1 楼xiyahui(西西)回复于 2001-11-21 10:22:00 得分 5
查询如果用filter则是在数据窗口中查询,可以从数据窗口的列属性里得到字段的名称及类型了。Top
2 楼dahaidao(dahaidao)回复于 2001-11-21 10:24:15 得分 2
对,就是这样的。Top
3 楼konrong(康尼)回复于 2001-11-21 10:36:25 得分 0
我想做的是个通用的,当然在主窗口的基础上按"查询"按钮,弹出这个查询窗口,其它的主窗口也可以应用这个.不是一个主窗口做一个查询的那种.我刚才在看其他人设计的一个通用查询窗口,他好象设计了一些表,用来储存一些信息,然后再用数据窗口来进行查询.Top
4 楼xiyahui(西西)回复于 2001-11-21 11:04:29 得分 5
呵呵,这样也是通用的阿。你可以做一个查询窗口,每个主窗口查询的时候都调用它,并且把主窗口中的数据窗口作为参数传递给查询窗口。再从查询窗口中取得传递过来数据窗口的数据列及类型。通用查询一般都是这么做的。Top
5 楼konrong(康尼)回复于 2001-11-21 11:19:10 得分 0
对呀,我就是想这样做,是不是要设置全局变量用来传递变量,怎么获得数据窗口名和字段名呢?Top
6 楼flowerfly(随风飘)回复于 2001-11-21 13:41:29 得分 3
用openwindowwithParm可以传递数据窗口变量给你的查询窗口。对数据窗口进行操作,调用数据窗口函数describe可以得到字段名。
不过我觉得通用查询应该是选择表名,字段名来对任意表进行查询,而不是对某个数据窗口进行查询。Top
7 楼konrong(康尼)回复于 2001-11-21 14:49:06 得分 0
openwindowwithparm怎么用呀?详细点,当然得到某个数口名就可以得到表的名字,得到表名是很容易的,得到字段也很容易.我就是不知道怎么在弹出窗口或响应窗口中得到主窗口的名字和主窗口中的DW名字.请各位朋友继续指点,谢谢!Top
8 楼meady()回复于 2001-11-21 15:05:23 得分 5
openwithparm(windowname,parameter)
e.g.
openwithparm(w_child,"hello")
u can use message object to accept parm
e.g.
string ls_parm
ls_parm=message.stringparm
here ls_parm will be "hello"
u also can pass other type parm such as double,object
please look up pb help to use message object
Top
9 楼PowerHolidayWorld(问问)回复于 2001-11-21 15:27:50 得分 0
agree
Top
10 楼konrong(康尼)回复于 2001-11-22 09:33:10 得分 0
说了这么多,我怎么不明白?可惜我就想要大家给写个明白的句子.看我的帖子内容.不要跟我说OPENWITHPARM 的细节Top
11 楼BlackBone()回复于 2001-11-22 12:53:07 得分 10
long ll_cols, i
string ls_dbname
ll_cols = Long(dw_query.Describe('DataWindow.Column.Count')) //得到SQL中包含的字段数
for i = 1 to ll_cols
ls_dbname = dw_query.Describe('#' + String(i) + 'DBName')
next
这里得到的ls_dbname就是每个字段的数据库名称(“表名.字段名”格式)
Top
12 楼konrong(康尼)回复于 2001-11-22 12:58:23 得分 0
谢谢,我调用了个结构,不过你的方法我也试试.Top
13 楼konrong(康尼)回复于 2001-11-26 15:17:38 得分 0
我使用了结构,调用这样的句子:
sgdjgsx tj
tj.ck_mc=sgd.classname()
tj.dw_mc=dw_sgd1.classname()
openwithparm(tycx,tj)
其中的CK_CK是WINDOW型,DW_MC是DATAWINDOW型
而CLASSNAME()是STRING 有什么办法转化,其实我就是想读出窗口的名字和数据窗口的名字给结构变量.请高手指点
Top
14 楼konrong(康尼)回复于 2001-11-26 15:23:24 得分 0
呵呵,真是糊涂一时,我发完帖子的时候就想到了,应该是
tj.ck_mc=sgd
tj.dw_mc=dw_sgd1
就行了.
Top




