H
huajianguo
Unregistered / Unconfirmed
GUEST, unregistred user!
数据库应用程序。三层结构
数据库:ORACLE8i
服务器端:一个窗口。一个远程数据模块:有(一个ADOConnection用于连接数据库,一个ADOQuery指向ADOConnection,一个DataSetProvider1指向ADOQuery);
客户端:某个窗口有:SocketConnection,指向服务器端。一个ClientDataSet1(为方便我重命名为c1)指向SocketConnection。
var i:integer;
begin
....
c1.close;
c1.commandtext:='select count(*) as num from mytable where myfield=1234';
c1.open;
i:=c1.fieldbyname('num').asinteger;
....
end;
程序运行到这里时出现:发生以下错误:“Value of field 'num'is out of range”。
请问各位这是怎么回事?
在编辑时如果在c1的commandtext里输入以上SQL语句时,c1的active可以置为true;
但此时如果加上一个DataSource和一个DBEdit1时并将它们连接上。此时在DBEdit1中就会出现“BCD overflow”字样!而不是我期望的数字
热切期盼!
如果把上述SQL语句改为:
c1.close;
c1.commandtext:='select * from mytable where myfield=1234';
c1.open;
i:=c1.RecordCount;
则不会出错(不要叫我就用这个方法。我的网络支持不住这么大的数据流量)
其它动词(如update,insert....)的SQL语句用这个c1也不会出错,
唯独在select count(*) from 时出错不管加不加字段别名时出错
数据库:ORACLE8i
服务器端:一个窗口。一个远程数据模块:有(一个ADOConnection用于连接数据库,一个ADOQuery指向ADOConnection,一个DataSetProvider1指向ADOQuery);
客户端:某个窗口有:SocketConnection,指向服务器端。一个ClientDataSet1(为方便我重命名为c1)指向SocketConnection。
var i:integer;
begin
....
c1.close;
c1.commandtext:='select count(*) as num from mytable where myfield=1234';
c1.open;
i:=c1.fieldbyname('num').asinteger;
....
end;
程序运行到这里时出现:发生以下错误:“Value of field 'num'is out of range”。
请问各位这是怎么回事?
在编辑时如果在c1的commandtext里输入以上SQL语句时,c1的active可以置为true;
但此时如果加上一个DataSource和一个DBEdit1时并将它们连接上。此时在DBEdit1中就会出现“BCD overflow”字样!而不是我期望的数字
热切期盼!
如果把上述SQL语句改为:
c1.close;
c1.commandtext:='select * from mytable where myfield=1234';
c1.open;
i:=c1.RecordCount;
则不会出错(不要叫我就用这个方法。我的网络支持不住这么大的数据流量)
其它动词(如update,insert....)的SQL语句用这个c1也不会出错,
唯独在select count(*) from 时出错不管加不加字段别名时出错