求助!!!数据库中数据表的读取问题 ( 积分: 44 )

  • 主题发起人 主题发起人 listhano
  • 开始时间 开始时间
L

listhano

Unregistered / Unconfirmed
GUEST, unregistred user!
有一个数据表 数据是这样的:
===========================
年代 一月 二月 三月 四月 五月 六月 七月 八月 九月 十月 十一月 十二月
2002 2.5 2.3 1.5 3.6 5.6 2.6 5.8 1.3 3.5 6.8 2.6 9.5
2003 6.8 2.6 5.6 6.9 6.2 2.3 3.5 4.2 2.6 5.6 6.9 10.5
2004 9.2 3.8 7.8 5.6 4.9 8.2 5.6 5.8 4.8 2.9 5.8 1.6
2005 11.5 9.7 8.9 6.9 5.9
============================
我用这个TABLE 用这个TGirg控件显示 数据
提取(赋值)数据用
for j:=1 to table1.RecordCount-1 do
begin
rr[1,j]:=StrToFloat(table1.fieldbyname('一月').asstring);
。。。。
   end;
{***********************************************}
结果只能提取2004年以前的数据!
如果把数据表中最后一条记录提取出来,改成下面的方案
for j:=1 to table1.RecordCount do
begin
rr[1,j]:=StrToFloat(table1.fieldbyname('一月').asstring);
。。。。
   end;
{***********************************************}
要出错的!因为有空值(即2005年六月份以后);
求助!
我要求是这样的:
1、用第二种方案。但是,要保证不出错。
2、必须把数据表最后一行记录中,有数据的那部分数据提取出来。
3、有没有更好的方法,保证最后一条记录的提取(给我源代码最好了,谢谢了)。
注:我只有44分了!都给了


 
 
有一个数据表 数据是这样的:
===========================
年代 一月 二月 三月 四月 五月 六月 七月 八月 九月 十月 十一月 十二月
2002 2.5 2.3 1.5 3.6 5.6 2.6 5.8 1.3 3.5 6.8 2.6 9.5
2003 6.8 2.6 5.6 6.9 6.2 2.3 3.5 4.2 2.6 5.6 6.9 10.5
2004 9.2 3.8 7.8 5.6 4.9 8.2 5.6 5.8 4.8 2.9 5.8 1.6
2005 11.5 9.7 8.9 6.9 5.9
============================
我用这个TABLE 用这个TGirg控件显示 数据
提取(赋值)数据用
for j:=1 to table1.RecordCount-1 do
begin
rr[1,j]:=StrToFloat(table1.fieldbyname('一月').asstring);
。。。。
   end;
{***********************************************}
结果只能提取2004年以前的数据!
如果把数据表中最后一条记录提取出来,改成下面的方案
for j:=1 to table1.RecordCount do
begin
rr[1,j]:=StrToFloat(table1.fieldbyname('一月').asstring);
。。。。
   end;
{***********************************************}
要出错的!因为有空值(即2005年六月份以后);
求助!
我要求是这样的:
1、用第二种方案。但是,要保证不出错。
2、必须把数据表最后一行记录中,有数据的那部分数据提取出来。
3、有没有更好的方法,保证最后一条记录的提取(给我源代码最好了,谢谢了)。
注:我只有44分了!都给了


 
 
为什么不用dbgrig
 
for j:=1 to table1.RecordCount do
begin
try
rr[1,j]:=StrToFloat(table1.fieldbyname('一月').asstring);
except
end;
。。。。
end;
 
for j:=1 to table1.RecordCount do
begin
rr[1,j]:=table1.fieldbyname('一月').asfloat;//asfloat会把null自动转成0
。。。。
end;
 
“asfloat会把null自动转成0”
真是这样吗?
我试试...
 
bjaman老兄:你好
果真如此!不过是这样的:
rr[1,j]:=table1.fieldbyname('一月').asfloat;//asfloat会把null自动转成0
谢谢了!
 
接受答案了.
 
后退
顶部