我做了一个存储过程,里面大概有5个select语句,我用查询分析器来试验的时候,总是把所有的select返回,我没多想,我做好了以后用VB来实际访问下,总是只返回第一个select,其实我是想要最后一个的,如何做到的啊??求大神指点,在线等……

解决方案 »

  1.   

    1、其他select如果不是必要的可以注释掉,只保留最后一个
    2、VB用来接收结果集的对象中,是否有能够接收表集合的,也就是可以存储表1、表2、表3这样的对象,如果有,请用这种对象接收存储过程返回值
      

  2.   

    select [name] from tempdb..sysobjects where [name]='##productmain1'and [xtype]='U'
    if @@rowcount>0 begin
    drop table ##productmain1
    end
    其他的我只是做一个检查用的,不能删除的啊,你说的第二种方法不行啊,最后执行出来的是个循环,是因数据的多少而绝决定的,而且说实话我还真不知道VB有没有你说的那个功能,还有好方法没……
      

  3.   

    放dataset里取最后一张表就行
    或者前面的select改为
    insert into 临时表 select ……
      

  4.   

    那我先试试看,全部做成临时表格,我想问个问题,因为我做了几个循环,我想循环一次来重新在临时表格里面插入信息的,你看怎么处理啊,inser into的话是不是不会覆盖掉以前的呢?
      

  5.   

    hjywyj ,您能否给一个dataset的具体实例啊……拜托啦
      

  6.   

    不会自动覆盖,要么追加,要么使用truncate table再insert的方式