CREATE PROCEDURE selectgz 
@sname varchar(10), 
@bmbh varchar(10) 
AS 
  select * from 员工所有信息查询 where 姓名 = @sname and 部门编号 = @bmbh 
GO 

解决方案 »

  1.   

    CREATE PROCEDURE selectgz 
    @sname  varchar(10),  --这里不要给初值 
    @bmbh varchar(10)''     --这里不要给初值 
    AS 
      select * from 员工所有信息查询 where 姓名= @sname  and  部门编号=@bmbh 
    return 
    GO 
      

  2.   

    楼主,问题出在rs1对象上。因为每次rs1有新数据记录返回时,必须要把上次的关闭在重新打开。否则就会出错。楼主可以用下面的代码试试:
    Set rs1 = New ADODB.Recordset 
    if (rs1.State <> adStateClosed) then 
      rs1.Close '这里就是关闭rs1的语句 
    endif
    rs1 = cmd.Execute() 
    Set DataGrid2.DataSource = rs1 if (rs1.State <> adStateClosed) then rs1.Close
      

  3.   

    今天重新考虑了一个,问题出在参数的定义位置这而,应当把xm,和bh两个参数定义在过程内,在最后删除两个参数 cmd.Parameters.Delete 0,就行.真是谢谢各位大仙了.
      

  4.   

    xm.name = "@sname" 
    你掉了个‘@’号,存储过程型参是需要着符号的。