SELECT distinct a.uiorderid, a.orderid, a.liveindate, a.leavedate, a.ordertype, a.status, a.ordertime, 
b.hotelid, b.hotelname, b.contactman AS affirmman, b.contactfax AS affirmfax, b.re, b.verifystatus, 
c.guestname, c.contactphone AS guestcontphone, c.contactname AS guestcontman, d.contactphone 
AS affirmphone, e.operatorname, f.membercode, 1 as querytype,  g.notifyway, g.notidest, g.notiphone,
 g.status AS notifystatus, g.contsample, g.emailaddr, g.notifytime FROM HTL_R_ORDERBASE a, 
 HTL_R_ORDERHOTEL b, HTL_R_ORDERGUEST c, HTL_I_AFFIRM d, O_OPERATOR e, M_MEMBER f, 
 HTL_R_NOTIFYCONTENT g WHERE 1 = 1 AND a.orderid = b.orderid AND a.orderid = c.orderid 
 AND a.orderid = g.orderid AND b.hotelid = d.hotelid AND a.memberid = f.memberid 
 AND UPPER (a.orderopercd) = UPPER (e.operatorcd)  AND g.notiDest = 0 AND g.status = 0  
 AND mod( a.orderid,10 ) in (0,1,2,3,4,5,6,7,8,9) AND a.orderopercd like 'csr0000'  
 order by a.liveindate 查出来9条,在dbgrid中只显示8条,为什么呢

解决方案 »

  1.   

    不会吧,你的DataSet设Filter了吗?
    另外,查一下与数据有关控件的事件,看看是否有过滤记录的语句
      

  2.   

    数据库没连错,也没有filter设置
      

  3.   

    估计是 ADO设置的问题.  以前用 ado 的储存过程返回数据集的时候, 也发现少了一条. 但怎么搞宝的记不清了. 最好设置好 游标 的类型 什么的.
      

  4.   

    如果用ado,我已记不清我回过多少有关ado联oracle的贴了,ADO连接oracle有很多莫名的问题
    你不如用bde/odbc/dbexpress,再好用odac
    如果你一定要用ado,注意两点
    1.要用oracle provider for ole db而不要用Microsoft OLE DB Provider for oracle
    2.升级你的mdac到2.7以上
      

  5.   

    拿到pl/sql工具里执行一下看看结果是几条,语句不要改在放到程序里执行看看结果几条,既然返回了8条说明与provider没有什么关系
      

  6.   

    用一个showmessage把它们都一个个显示出来,看到底是哪个少了