请教一个从sql语句中取值的问题。谢谢 。。。
ssql3:='select count(*) as qq from tab_stafftrain where sta_id='''+EdtSta_id.Text+''' and cur_id='''+EdtCur_id.Text+''' ';
with datamodule1.CDS_Total do
begin
try
close;
commandtext:=ssql3;
open;
except
showmessage('不能打開數據庫!');
end;
end;
showmessage(inttostr(datamodule1.CDS_Total.FieldByName ('qq').asinteger)); ---->此句报错‘field value 'qq'out of range ’
SQL PLUS中运行的结果为:1
在datamodule1的组件CDS_Total中加入计算字段qq 也不行(此时值为0 )??
这样的问题大家肯定遇到过,请指点。。。。。
问题点数:40、回复次数:9Top
1 楼dreamfan(改行不做程序员,回家种地。)回复于 2002-05-23 16:57:30 得分 1
你的计算字段是怎么加的?Top
2 楼fyje(云中仙)回复于 2002-05-23 17:05:38 得分 24
ssql3:='select count(*) as qq from tab_stafftrain where sta_id='''+EdtSta_id.Text+''' and cur_id='''+EdtCur_id.Text+''' ';
这一句,如果sta_id、cur_id为整型的话,此句改成
ssql3:='select count(*) as qq from tab_stafftrain where sta_id='+EdtSta_id.Text+' and cur_id='+EdtCur_id.Text+';
showmessage(inttostr(datamodule1.CDS_Total.FieldByName ('qq').asinteger)); 改成:
showmessage(datamodule1.CDS_Total.FieldByName ('qq').asstring);Top
3 楼Snakeguo(Guoguo)回复于 2002-05-23 17:07:21 得分 2
是不是qq的值太大,越界了?
试一下换成
showmessage(datamodule1.CDS_Total['qq']);Top
4 楼sandyen(杉叶)回复于 2002-05-23 17:08:13 得分 1
你知道怎么修改记录吗?
谢谢Top
5 楼luckjackie(永远不懂)回复于 2002-05-23 17:08:32 得分 0
在datamodule1的组件CDS_Total中加入呀, type為 integer
field type 為 calculated
Top
6 楼luckjackie(永远不懂)回复于 2002-05-23 17:19:01 得分 0
to: fyje(冬原)
不對.
to : snakeguo(枫)
count(*)值為1,不可能越界.
Top
7 楼ihihonline(潇潇->戒烟)回复于 2002-05-23 17:43:36 得分 12
我相信,如果您要是在SQL Server里执行这句应该是对的,但是,如果在一个固定的数据集里执行的话,如果您又没有给这个数据集ADD列的话,那么肯定是错的了;Top
8 楼luckjackie(永远不懂)回复于 2002-05-23 18:40:02 得分 0
to ihihonline(小小->充电中……) :
两层结构的程序没有问题,三层结构的程序为何就出错呢 ?Top
9 楼luckjackie(永远不懂)回复于 2002-05-23 19:03:11 得分 0
?
Top




