计算字段(100分)

  • 主题发起人 主题发起人 jlgxy_96
  • 开始时间 开始时间
J

jlgxy_96

Unregistered / Unconfirmed
GUEST, unregistred user!
.db数据库 结构如下:
表达式 字符型 250
a integer
b integer
value integer

如何根据”表达式字段“中的表达式计算value 的值?
例如:
表达式:a+b a-b a*b-a .....
a :10 2 3
b :20 1 4 .....
value= ? ? ? .....


 
一句搞不定。

query1 "select disctict 表达式 from tbl"

query1.first
while not query1.eof do
begin
执行: "update tbl set value="+query1.FieldByName('表达式').ASString+" where 表达式='"+query1.FieldByName('表达式').ASString+"'"
query1.next
end
 
有点麻烦,你要读出表达式,进行判断。然后恢复成表达式,在计算。
好象数据结构之类的书上会告诉你如何把string做成表达式。
麻烦。。。
 
表达式求值有两种经典算法:
1.先构造二叉树,再后序遍历。
2.用两个堆栈,一个放变量,一个放运算符。
算法实现起来都比较麻烦,三言两语说不完,如想要源代码,给我来信
lee_change@sohu.com.cn
 
PiPi的方法已经很好了,让Selece 语句去解释表达式.缺陷是表达式必须SQL支持
 
他的表达式就是 + - * 而已,没什么特殊嘛
 
谢谢 pipi
 
谢了要给分啊
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
559
swish
S
回复
0
查看
1K
不得闲
S
回复
0
查看
816
SUNSTONE的Delphi笔记
S
S
回复
0
查看
737
SUNSTONE的Delphi笔记
S
后退
顶部