代码如下:ADOQuery_Fee为TADOQuery类型,TEMPFEEVIEW为Oracle视图,数据库为OracleStep1:创建Oracle视图
ADOQuery_Fee.SQL.Text:='CREATE VIEW ' + TEMPFEEVIEW + ' AS '
                     + 'SELECT b.rn AS consign_rn,'
                     ......此处省略一部分不相关的代码
                     + '       0 AS 水运费,'
                     ......此处省略一部分不相关的代码
这部分测试可以通过,在PL/SQL可以查看到视图Step2:视图排序输出
ADOQuery_Fee.SQL.Text:='SELECT * FROM ' + TEMPFEEVIEW + ' ORDER BY 运单号,分票号,箱号';
执行ADOQuery_Fee.Open后会提示错误
错误信息如下:Project NQ.exe raised exception class EDatabaseError with message'ADOQuery_Free:Type mismatch for field '水运费', expecting:Integer actual:BCD'.Process stopped.Use step or Run to continne.(字段'水运费'不匹配,期望是Integer型,实际是二进制编码的十进制)POS:以上的SQL语句抽出来,在PL/SQL上都可以通过。