我有一个SQL SERVER2000的存储过程如下:
CREATE PROCEDURE bdxz
@pzh varchar(10),
@zbh varchar(8)
AS
insert into ch_2 (pzbh,zbh) values(@pzh,@zbh)
GO用vb6调用
myvograde.rsDK1 "declare @pzh varchar(10),@zbh varchar(8) set @pzh='" & Trim(Textpzh.Text) & "' set @zbh='" & Trim(Textzbh.Text) & "' exec bdxz @pzh,@zbh"
完全正常但用如下方法就不正常
Dim m_pzh As String
Dim m_zbh As String
m_pzh = Trim(Textpzh.Text)
m_zbh = Trim(Textzbh.Text)
myvograde.rsDK1 "declare @pzh varchar(10),@zbh varchar(8) set @pzh=m_pzh set @zbh=m_zbh exec bdxz @pzh,@zbh"
出错信息如下:
实时错误 '-2147217900 (80040e14)':
列名'm_pzh’无效请各位大侠指正

解决方案 »

  1.   


    Dim m_pzh As String
    Dim m_zbh As String
    m_pzh = Trim(Textpzh.Text)
    m_zbh = Trim(Textzbh.Text)
    myvograde.rsDK1 "declare @pzh varchar(10),@zbh varchar(8) set @pzh=" & m_pzh & " set @zbh=" & m_zbh & " exec bdxz @pzh,@zbh"
      

  2.   

    m_pzh和m_zbh应该是变量名吧~~~ 
      

  3.   

    2楼给出的答案基本接近,但还是错误
    正确的如下:Dim m_pzh As String
    Dim m_zbh As String
    m_pzh = Trim(Textpzh.Text)
    m_zbh = Trim(Textzbh.Text)
    myvograde.rsDK1 "declare @pzh varchar(10),@zbh varchar(8) set @pzh='" & m_pzh & "' set @zbh='" & m_zbh & "' exec bdxz @pzh,@zbh"
    给分结贴