请问怎样实现逻辑表达式的计算,datawindo elaluate可以实现吗,sql 可以吗?
请问怎样实现逻辑表达式的计算
datawindo elaluate可以实现吗,
sql 可以吗?
问题点数:0、回复次数:13Top
1 楼quqiujie(紫炎)回复于 2003-06-03 10:57:29 得分 0
不太明白,详细说一下
最好举个例子出来Top
2 楼waterstony(王小石)回复于 2003-06-03 11:15:49 得分 0
datawindow elaluate就可以了。Top
3 楼devil_heart(心魔)回复于 2003-06-03 11:53:25 得分 0
统计:this.Describe("Evaluate('count("+ls_colname+")',0)")
求和:this.Describe("Evaluate('sum("+ls_colname+" for all)',0)")Top
4 楼waterstony(王小石)回复于 2003-06-03 11:56:01 得分 0
this.Describe("Evaluate('11+12*(12+23)',0)")
Top
5 楼zqfcsdn(anshan)回复于 2003-06-04 13:39:00 得分 0
不是计算数学表达式,是计算逻辑表达式
如: A and ( ( B or C) or ( D or E ) )
A B C D E 为布尔型变量
大家帮想想办法
Top
6 楼waterstony(王小石)回复于 2003-06-04 13:46:17 得分 0
Describe("Evaluate('A and ( ( B or C) or ( D or E ) ) ',0)")
Top
7 楼shizi_mhy(柿子)回复于 2003-06-04 13:52:17 得分 0
'得到参数可用的逻辑表达式的逻辑值(返回值 0:假,1:真,9:出错,逻辑表达式不对)
Public Function GetUsefulLogicExpressionValue(ByVal LogicExpression_Temp As String) As Integer
GetUsefulLogicExpressionValue = 1
MySql = " Select Case when " + LogicExpression_Temp + " then 1 else 0 end"
If MyObj.opendb(MyData, MySql) = False Then
MsgBox "计算逻辑字符串的逻辑值出错", vbInformation, CstPrompTitle
GetUsefulLogicExpressionValue = 9
Exit Function
End If
GetUsefulLogicExpressionValue = MyData(0, 0)
End Function
*******************************
上面是我的系统中的一个函数
最最关键的就是拼下面的SQL串儿
这是我们系统中审核流程自定义的关键所在
MySql = " Select Case when " + LogicExpression_Temp + " then 1 else 0 end"
我要100分儿
:))))
Top
8 楼zqfcsdn(anshan)回复于 2003-06-04 14:29:20 得分 0
waterstony(王小石) ,表达式不合法,怎么回事?Top
9 楼zqfcsdn(anshan)回复于 2003-06-04 14:31:34 得分 0
shizi_mhy(柿子) ,你写的我看不懂,
" If MyObj.opendb(MyData, MySql) = False Then "
myobj 是什么东西?
" GetUsefulLogicExpressionValue = MyData(0, 0) "
mydata 又是什么?
Top
10 楼shizi_mhy(柿子)回复于 2003-06-04 18:19:16 得分 0
那个是我的系统中由于访问数据库的一个dll
对你没有用的
你不用看了
你只要看那个动态生成的SQL语句就可以了
Top
11 楼zqfcsdn(anshan)回复于 2003-06-05 08:56:14 得分 0
明白了,谢谢柿子Top
12 楼freeliu()回复于 2003-06-05 09:37:38 得分 0
用sql可以实现。
select A and ( ( B or C) or ( D or E ) )
into :lb_result
from t_table
其中t_table可以是你数据库中的任意一个表。
当然,如果abcde中有变量,就要用动态sql语句。先拼写sql语句。
然后用上面的方法。Top
13 楼zqfcsdn(anshan)回复于 2003-06-07 08:35:42 得分 0
我看不明白,能解释一下吗?
abcde 就是变量啊
select 子句应该不允许有变量啊?
Top




