存储过程:
create procedure P5
 @a1 varchar(100),
 @a2 varchar(100),
 @a5 int output
as
begin
  if exists(select * from tab1 where a1=@a1)
    set @a5=1
  else
  begin
    insert into tab1 values(@a1,@a2)
    set @a5=0
  end
end
go我在VB里这样写:
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
cn.Open "driver={sql server};server=QINGWEN;database=aa;uid=sa;pwd=sa;"Dim str As String
str = "P5 'sxxdf1','a2',0"
Set rs = cn.Execute(str)
MsgBox rs.Fields(0).Value大家帮下忙。。就是查出有相同记录就返回1,否则新增数据,返回0

解决方案 »

  1.   

    try:create procedure P5
     @a1 varchar(100),
     @a2 varchar(100)
    as
    begin
      if exists(select * from tab1 where a1=@a1)
        select 1 a5
      else
      begin
        insert into tab1 values(@a1,@a2)
        select 0 a5
      end
    end
    go
    ......
    str = "P5 'sxxdf1','a2',0"
    Set rs = cn.Execute(str)
    MsgBox rs!a5
      

  2.   

    Dim cn As New ADODB.Connection
    Set rs = New ADODB.Recordset
    Set cmd = New ADODB.Command
    cmd.ActiveConnection = cn
    cmd.CommandText="P5"
    cmd.CommandType = adCmdStoredProccn.Open "driver={sql server};server=QINGWEN;database=aa;uid=sa;pwd=sa;"'输入参数
    Set param = cmd.CreateParameter("a1", adChar, adParamInput, 100, "sxxdf1")
    cmd.Parameters.Append param
    Set param = cmd.CreateParameter("a2", adChar, adParamInput, 100, "a2")
    cmd.Parameters.Append param
     '输出参数
    Set param = cmd.CreateParameter("a5", adInteger, adParamOutput)
    cmd.Parameters.Append param 
    Set rs = cmd.Execute()MsgBox cmd.Parameters("a5").Value