说详细点
用Delphi5.0 ,三层结构,其中sql语句在Oracle的SQL PLUS中运行的结果为:1,如不在datamodule1的组件CDS_Total中加入一个integer型的计算字段qq,则在Delphi中调试时报错‘field value 'qq'out of range ’ 然后我在datamodule1的组件CDS_Total中加入一个integer型的计算字段qq,调试可通过了,可打印出的datamodule1.CDS_Total.FieldByName ('qq').asinteger值为0;天啊,我要的是“1”,可为什么不是1而是“0”呢??为什么会这样呢?请大侠施以援手!!源代码如下:
ssql3:='select count(*) as qq from tab_stafftrain where sta_id='''+EdtSta_id.Text+''' and cur_id='''+EdtCur_id.Text+''' ';
//showmessage(ssql3);
with datamodule1.CDS_Total do
begin
try
close;
commandtext:=ssql3;
open;
except
showmessage('不能打開數據庫!');
end;
end;
showmessage(inttostr(datamodule1.CDS_Total.FieldByName ('qq').asinteger));
用Delphi5.0 ,三层结构,其中sql语句在Oracle的SQL PLUS中运行的结果为:1,如不在datamodule1的组件CDS_Total中加入一个integer型的计算字段qq,则在Delphi中调试时报错‘field value 'qq'out of range ’ 然后我在datamodule1的组件CDS_Total中加入一个integer型的计算字段qq,调试可通过了,可打印出的datamodule1.CDS_Total.FieldByName ('qq').asinteger值为0;天啊,我要的是“1”,可为什么不是1而是“0”呢??为什么会这样呢?请大侠施以援手!!源代码如下:
ssql3:='select count(*) as qq from tab_stafftrain where sta_id='''+EdtSta_id.Text+''' and cur_id='''+EdtCur_id.Text+''' ';
//showmessage(ssql3);
with datamodule1.CDS_Total do
begin
try
close;
commandtext:=ssql3;
open;
except
showmessage('不能打開數據庫!');
end;
end;
showmessage(inttostr(datamodule1.CDS_Total.FieldByName ('qq').asinteger));
http://www.csdn.net/expert/topic/746/746749.xml?temp=.8480799
//showmessage(ssql3);
with datamodule1.CDS_Total do
begin
try
close;
commandtext:=ssql3;
ShowMessage(ssql3); //先看看语句是不是你想要的
Memo1.Text := ssql3; //如果是,请把语句放到Oracle中执行在看看//Memo1随便放一个//调试完再删除即可
//
open;
except
showmessage('不能打開數據庫!');
end;
end;
QQ
----------
1
問題在;
datamodule1.CDS_Total.FieldByName ('qq').asinteger
报错‘field value 'qq'out of range ’