我用的是SQLSERVER2000要查询yhxx表 
存储过程如下:CREATE Procedure serch_name(
@v_name nvarchar(20)
)as 
begin
select * from yhxx where xm  like '%" + @v_name + "%'
end
GO
程序代码如下:
v_name = Trim(xm.Text)
db.CursorLocation = adUseClient
Dim rs As New adodb.Recordset
Set rs = db.Execute("exec serch_name '" + v_name + "'")
Set DataGrid.DataSource = rs错误是:
Set DataGrid.DataSource = rs  有问题,提示 要求对象!!

解决方案 »

  1.   

    Set rs = db.Execute("exec serch_name " + v_name)   
    '去掉單引號
      

  2.   

    haipingma(今天你过得快乐吗?) 按你的方法还是提示Set DataGrid.DataSource = rs  有问题,提示 要求对象!!
      

  3.   

    还得问一下我的存贮过程里的
    select * from yhxx where xm like  '%" + @v_name + "%'这样写是不是会有问题,我怎么查询不出来呢如果写成
    select * from yhxx where xm = @v_name 就可以查出来!!!
    我要模糊查询  我该怎么做???
      

  4.   

    存儲過程的問題
    CREATE Procedure serch_name(
    @v_name nvarchar(20)
    )as 
    declare @strSql nvarchar(4000)
    begin
    set @strSql='select * from Kc_Product where ProductNo  like ''%' + @v_name + '%'''
    exec(@strSql)
    end
    GO程序代码如下:
    v_name = Trim(xm.Text)
    db.CursorLocation = adUseClient
    Dim rs As New adodb.Recordset
    Set rs = db.Execute("exec serch_name " + v_name)
    Set DataGrid.DataSource = rs
      

  5.   

    haipingma(今天你过得快乐吗?) ( )   大哥
    如果还有个条件 V_tm  那个SQL 应该怎么写??create proc serch_name
    @v_XM nvarchar(255) =null,@v_TM nvarchar(255) =null
    as
    declare @SQL varchar(400)set @SQL = 'select top 20  *  from yhxx  where 1=1 'if @v_XM <> ''
    begin
    set @SQL=@SQL + 'and XM like ' + @v_XM + '% '
    end
    if @v_TM <> ''
    begin
    set @SQL=@SQL + 'and TM like ' + @v_TM + '%'
    endexec(@SQL)
    我什么也查不出来???