各位请看看,我这哪里不对??(0分)

  • 主题发起人 zhangshuze
  • 开始时间
Z

zhangshuze

Unregistered / Unconfirmed
GUEST, unregistred user!
IF (DBEdit5.Text <> '') OR (DBEdit6.Text<>'') Or (DBEdit5.Text = '0') OR
(DBEdit6.Text='0') then
in_data.ADOQuery1.Edit;
in_data.ADOQuery1.FieldByName('heji').AsFloat:=
StrToFloat(DBEdit5.Text) * strtoFloat(DBEdit6.Text)
end;

其中 DBEdit5.Text的列为数量 DBEdit6.Text 的列为单价
ADOQuery1的sql为
select new_id,
mingcheng,
shuliang,
jine,
shuliang * jine as heji
from in_db
为什么in_data.ADOQuery1.FieldByName('heji').AsFloat:=
StrToFloat(DBEdit5.Text) * strtoFloat(DBEdit6.Text)
会有错呢?
 
你的 heji 字段是计算字段,不能更新的
 
>> shuliang * jine as heji
这样的列是ReadOnly类型的。
 
那请教该如何处理呢?
 
请讲明白点好吗?
 
我天这么酷!
你的做法如可行,我再也不敢用TQuery了!
in_data.ADOQuery1.FieldByName('heji').AsFloat:=StrToFloat(DBEdit5.Text) * strtoFloat(DBEdit6.Text);
????
不允许这样更新“heji”!
你的想法?

 
看样子你在库里是不保存合计的,用Dataset的计算字段,不要用SQl语句去计算就Ok了.
 
小弟我刚学delphi,计算字段怎么设置??请举例好吗?谢谢!!
 
双击DataSet,右键NewField,在FieldType选成Calculated就ok了.
 
那如何设置它们之间的计算关系呢?
 
那如何设置它们之间的计算关系呢?
 
佩服,高手
这种字段你能更新么?
 
不好意思,我不是高手,我现在只是菜鸟,我现在是做了一个计算机列 用以下方法:
双击DataSet,右键NewField,在FieldType选成Calculated,
但现在我如何设置它们之间的关系呢?我现在设置的字段名为 hj,它的值为
shuliang * jine
那如何设置它们之间的计算关系呢?
 
请在帮帮我好吗?
 
你究竟要达到什么目的呢?
如果要计算并保存的话,你的数据库里必须有 heji 字段
用 update,如:
update set heji=shuliang * jine

建议多看看SQL方面的资料
 
这个我知道,我的意思是数据库中没有heji字段,我现在是动态的增加一个计算列heji,
而heji的值为 shuliang * jine 得到的值,但是如何设置完heji计算列后,当录入完
shuliang 或 jine 后,heji这个计算列自动产生。
请多帮帮我

 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
735
import
I
I
回复
0
查看
624
import
I
I
回复
0
查看
713
import
I
顶部