非常急的问题,高手请进。如何求得表达式的值?(100分)

  • 主题发起人 主题发起人 yorkting
  • 开始时间 开始时间
Y

yorkting

Unregistered / Unconfirmed
GUEST, unregistred user!
我用一数据表存储了字段条件息信,结构如下:
TableName varchar[20]——表名
FieldName varchar[20]——字段名
Operator varchar[6]——运算符
Constraint varchar[30]——条件
ErrorMessage varchar[50]——符合条件的错误提示信息
现在,我是把它分别赋予Tdataset中TFields的CustomConstraints中。但我不想这样,
我想在所有字段录入完毕,提交前根据这些条件进行判断,然后弹出错误信息列表。这样,
就必须用代码来实现了。但Delphi6没有宏替代的运算符,请问应如何实现?
(不够分,可以再加。)
 
为何这么久都没人答一答这问题?!难道论坛里真的没人可以解答?唉!!!!!!!!
 
如果判断公式是固定的话,把公式中除运算符以外的各个部分放到一个表中,然后用SQL
语句将该表中的各个字段组成运算公式加以计算。
 
To:HunterTeam
请详细些好吗?
 
比如公式为:(a+b)*c/d
在表中有字段为a1,a2,a3,a4
Sql语句就可以这样写:
select (a1+a2)*a3/a4 as 公式值 from table
这一个表可以有更多的字段,以便存放更多的公式,然后在上述Sql语句中加入判断,
以选择所要使用的公式。
 
多谢您,HunterTeam!但是,可能您还没明白我的意思。我问的是判断(逻辑)表达式,是
在数据还没存进数据库前的判断。也就是说业务逻辑的判断。
 
TableName varchar[20]——表名
FieldName varchar[20]——字段名
Operator varchar[6]——运算符
Constraint varchar[30]——条件
ErrorMessage varchar[50]——符合条件的错误提示信息
举个例子啊,怎么看你这表象我做的查询辅助表
 
To:火龙真人
是用于在数据录入后与数据保存到数据库服务器之间进行判断数据的业务逻辑的。这个表
是用于存储错误条件及符合错误条件时提示的出错信息。
 
try
提交代码
except
回滚
on 错误 do 显示你的错误信息
end;
 
To:火龙真人
请看清我提的问题!我是问如何取得判断表达式的值。
e.g.
var
s:String;
begin
s:='FieldName'+'>'+'0';//是求这字符串中表达式的值。
//是固定格式:数据表字段名+逻辑运算符+条件(字符或数字)
end;
 
HunterTeam方法是可行的,只是对于a1,a2,a3,a4值可以指定或取省缺值
 
最好在输入的控件里限制,
不过未提交之间,字段已经赋直,其直还是可以访问的,
你一次只能对一个表UPDATE,那么在对那个表UPDATE时候
就用SQL 对你错误提示表里的 TANBLE为指定表选出来,
然后,从头到尾,将记录访问 。
加入一ADOQUERY的SQL没访问一次执行一次ADOQUERY
循环中这样写
ADOQUERY.SQL.CLEAR;

ADOQUERY.SQL.add('select '+错误表['字段']+错误表['操作符']+错误表['条件']);
打开ADOQUERY的字段编辑器点添加所有字段。虽然SELECT并没对表操作
此字段如果结果为真返回-1结果是假返回0。不用任何参数
你也可以用参数来实现
 
To:火龙真人
很高兴!您已明白我的意思,多谢!!
但我是用三层开发的。客户端是用ClientDataSet。而我想在Application Server中进行判
断,然后返回出错信息列表到客户端。但是,我又不想用ClientDataSet和DataSetProvider
中触发事件来实现。因为我要得到的是一张[错误信息列表]。
 
呵呵对于三层我一窍不通
 
唉!!!难道真的没人会?!!!
 
自行解缺了,多谢大家!
 
怎么解决的,你可告诉大家丫!
 
怎么解决的,你可告诉大家丫!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部