首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

ADO+ORACLE简单的一对多有关问题(2)

2012-02-25 
ADO+ORACLE简单的一对多问题(2)ADOQUERY1.SQL.TEXT :SELECT * FROM INVO //主表ADOQUERY2.SQL.TEXT :

ADO+ORACLE简单的一对多问题(2)
ADOQUERY1.SQL.TEXT =:'SELECT * FROM INVO' //主表

ADOQUERY2.SQL.TEXT =:'SELECT * FROM INVOSUB WHERE DH=:DH' //从表

如果DH这个字段是字符串类型(VARCHAR2),这个一对多设置没问题;
但是要是数字类型(INTEGER),OPEN数据集的时候就会报错: 未指定的错误。

我在参数的DATATYPE 用了FTINTEGER、FTFLOAT等,还是报这个错误。
请问是不是该修改参数的类型? 谢谢!




[解决办法]
字符类型变数字类型,一起变应该没有问题啊
另:冒号和等号反了,参数名最好不要与字段名相同

ADOQUERY1.SQL.TEXT :='SELECT * FROM INVO' //主表

ADOQUERY2.SQL.TEXT :='SELECT * FROM INVOSUB WHERE DH=:sDH' //从表
ADOQuery2.Parameters.ParamByName('sDH').Value:=ADOQUERY1.FieldByName('DH').AsInteger;
[解决办法]

冒号和等号反了,参数名最好不要与字段名相同

上面的说法是错误的。在SQL中加:表示的是变量。
变量名定义和字段名一样是不是很好

热点排行