CREATE PROCEDURE [dbo].[Product_List] @key varchar(50),
@Dalei int,
@Product_Number varchar(100)  
asdeclare @strLook nvarchar(3000)
declare @sql nvarchar(4000)
if(@key is not null)
 Set @strLook=@strLook+' and Product_Name like %'+@key+'%'if (@Dalei is not null)
Set @strLook=@strLook+' and Product_BigID=@Dalei'
 
if(@Product_Number is not null)
 Set @strLook=@strLook+' and Product_Number like %'+@Product_Number+'%'
 
set @sql = 'Select id,Product_Number,Product_Name,Product_MarketPrice,Ppic,Product_UserPrice from Product_content Where ' +@strLook + ' Product_isDel=0'exec(@sql)go

解决方案 »

  1.   

    谢谢 coolingpipe(冷箫轻笛)我在查询分析器运行没有错,但是我在前台调用这个存储过程时提示,(对象关闭时,不允许操作。)
      sql=("exec Product_List '"&key&"','"&DaLei&"','"&Product_Number&"'")
    rs.open sql,conn,3 (提示这行)
    望高手指点!!!
      

  2.   

    这个应该是asp的提示吧
    在rs.open 之前你是否用rs.close关闭了rs对象呢?
      

  3.   

    我没有用rs.close他前面,
    如果我把sql=("exec Product_List '"&key&"','"&DaLei&"','"&Product_Number&"'")
    换成 sql="Select id,Product_Number from Product_content Where "&strLook&" Product_isDel=0 "
    这样rs.open sql,conn,3 就没有问题了
    \
    我在考虑存储过程中
    set @sql = 'Select id,Product_Number,Product_Name,Product_MarketPrice,Ppic,Product_UserPrice from Product_content Where ' +@strLook + ' Product_isDel=0'exec(@sql)这样asp中sql=("exec Product_List '"&key&"','"&DaLei&"','"&Product_Number&"'")
    rs.open sql,conn,3  是不是没有返回记录集那!!望指点!!
      

  4.   

    具体有没有记录集你可以把sql语句打印出来执行一下看看