各位我写了一个存储过程是
CREATE PROCEDURE wfx_khzc @cstcode varchar (20)  AS
--jolly 2005.3.14 获得某个客户的包装物暂存
if exists (select * from sysobjects where id = object_id(N'wfx_bzhzc') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
begin
print 'deleted wfx_bzhzc'
drop table wfx_bzhzc
end
--start 
SELECT WrsInfo.SwrsName AS wrsname, ISNULL(view_pqr_hkd.物资数量,0) AS zc
into wfx_bzhzc
FROM WrsInfo  LEFT OUTER JOIN
     view_pqr_hkd ON  dbo.WrsInfo.Swrscode =view_pqr_hkd.物资编码
where dbo.WrsInfo.SWKDCode LIKE '003%' and dbo.WrsInfo.Swrscode in (select 物资编码 from view_pqr_hkd) and view_pqr_hkd.审核时间<>'' and view_pqr_hkd.是否核销='0' 
     and view_pqr_hkd.是否废票='0' and( view_pqr_hkd.回空类型='6' or view_pqr_hkd.回空类型='0'  ) and view_pqr_hkd.客户编码=@cstcode
GO我又在程序中写了一个查询
 '给客户包装物暂存赋值
  Sql = " wfx_khzc'" & khdh & "'"
  goConnect.Execute Sql, adCmdStoredProc
  Sql = "select wrsname,sum(zc) from wfx_bzhzc group by wrsname"
  rs.Open Sql, goConnect, adOpenForwardOnly, adLockReadOnly
  If rs.RecordCount > 0 Then
     rs.MoveFirst
     Do
       rtxt.Text = rtxt.Text & "    " & rs.Fields(0) & "  " & rs.Fields(1)
       rs.MoveNext
     Loop While Not (rs.BOF Or rs.EOF)
  Else
     rtxt.Text = "该客户当前没有包装物暂存!"
  End If
  goConnect.Execute "drop table wfx_wzhzc"
  rs.Close
  Set rs = Nothing
这段程序第一次执行挺好可是执行第二遍时
语句goConnect.Execute "drop table wfx_wzhzc" 报wfx_wzhzc无效的错误请各位帮帮忙说说原因谢了。

解决方案 »

  1.   


    wfx_wzhzc表是在那创建的? 给出的代码里只有goConnect.Execute "drop table wfx_wzhzc"一句有这个表名,存储过程里创建的临时表名是wfx_bzhzc
      

  2.   

    我用了select into 语句创建了wfx_wzhzc表您再看看吧,谢谢了!
      

  3.   

    对不起对不起是我看错了,xiaoxiaoP谢谢您了.我想再问一句我在执行时rs.recordcount=-1没值,我把次查询语句拿到查询分析其中执行却有4笔数据,这是什么原因了。每当存储过程传一个新参数执行挺好可是如果把这个参数再执行一次就不行了。
      

  4.   

    rs.recordcount=-1是ado连接数据库的游标问题,要是应该有查询结果的话,需换一种系统支持的游标类型,conn.CursorType=?我忘了,机器上没装MSDN,你自己查一下吧,应使用用户游标类型。
      

  5.   

    给一个地址,有关rs.recordcount=-1的详细说明:
    http://www.china-askpro.com/msg21/qa32.shtml
      

  6.   

    对了xiaoxiaoP我查了一下好像不是conn.cursortype而是conn.cursorlocation=aduserclient默认是adserverclient不知是不是
      

  7.   

    对了xiaoxiaoP我查了一下好像不是conn.cursortype而是conn.cursorlocation=aduserclient默认是adserverclient不知是不是