Update的问题(100分)

  • 主题发起人 主题发起人 飘叶
  • 开始时间 开始时间

飘叶

Unregistered / Unconfirmed
GUEST, unregistred user!
Access表中有总分、数学、英语等双精度数学型字段

edit1.text:='语文 + 数学 + 英语'

With Form1.ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.ADD('update CZ set 总分= '+trim(edit1.text));
ExecSQL;
end;

但如果当某一个学生的某一科缺考成绩为空时,那么得出的总分也为空了!
该如何解决?
 
access用这个语句
update CZ set 总分= nz(语文,0) + nz(数学,0) +nz(英语,0)
 
通不过
nz是什么函数?
 
不好意思,nz(字段,0)是Access中的函数,意思是如果是Null返回0,可是它是内置函数,
Delphi中不认
在Delphi中这样可以,我试过了
update CZ set 总分= iif(语文=null,0,语文) + iif(数学=null,0,数学)
+iif(英语=null,0,英语)
 
用 ISNULL函数 ISNULL('数学',0)
 
还是不行,当某科没有成绩时,出现了空格
 
to:沙_儿 :你说的是SQLServer的用法
to:飘叶 不好意思,我上次用字符型字段试的,
用数字型字段应该是这样
update CZ set 总分= iif(isnull(语文),0,语文) + iif(isnull(数学),0,数学)
+iif(isnull(英语),0,英语)
 
好了,谢谢
 

Similar threads

回复
0
查看
873
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
回复
0
查看
625
不得闲
I
回复
0
查看
422
import
I
后退
顶部