USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Dúvida sobre StoredProcedure (novamente)
xprata
não registrado
ENUNCIADA !
Postada em 24/06/2004 14:27 hs   
Boa tarde,
Trabalho pouco com SP e tenho alguma dúvidas?
Executando uma SP através do VB com ADO.
Minha conexão está sendo feita da seguinte forma:
“”
Public Cmddll As New ADODB.Command, Cnndll As New ADODB.Connection
Set Cnndll = New ADODB.Connection
Cnndll.Open "provider=sqloledb;data source=" & fServidor & " " _
              & ";user id=sa;password=;initial catalog=" & fBanco
 Set Cmddll.ActiveConnection = Cnndll
 Cmddll.Parameters.Refresh
 Cmddll.CommandType = adCmdText
""
Dúvidas:
1 -  Qual a diferença se o COMMANDTYPE  do meu COMMAND estiver com ADCMDTEXT ou ADCMDSTOREDPROC.
 
2 - Executo a sp da seguinte forma:
vsSql = "PNX_CALCULAITEM @NIA=0,@APL=0,@CODAMB =" & rsItem!codamb & "," _
         & "@PAC=" & dllRa & ",@MPS=" & dllMedico & ",@OP=1,@USR=" & dllUsuario & "," _
         & "@REC=" & rsPac!Loc & ",@DT ='" & vsData & "',@EXC=" & dllExecutante & "," _
         & "@QTD=" & CInt(dllQtd) & ",@NCT=" & viNct & ",@CDP=" & rsPac!esp & "," _
         & "@FTP=" & viConv & ",@COD=" & rsItem!COD & ""
Cmddll.CommandText = vsSql
Set rsAux = New ADODB.Recordset
rsAux.Open Cmddll, , 3
A SP rodando sem erro o que deve ser retornado para o RSAUX ? Exemplo: O que vem para RSAUX.RECORDCOUNT ? Hoje o retorno que tenho é –1, está correto ?  (Obs. Dentro de SP tem uma serie de variáveis internas, mas que não são de retorno)
 
3 - Como posso obter o valor de uma variável interna da SP, exemplo:
Dentro da SP tenho a informação abaixo entre outras
DECLARE @PRO_VALOR VARCHAR (100)
SET @PROB_VALOR=(SELECT 'ITEM '+ SUBSTRING(S.NOME,1,30) + ' SEM
                                PREÇO FROM TABELA_SEM_PRECOS T,PRODUTOS P
                                WHERE T.CODIGO=@CODIGO AND AND T.CODIGO=P.CODIGO)
 
4 – Quando executo com .CommandType = ADCMDSTOREDPROC, da o seguinte erro: “Syntax error or access violation”. Mas se rodar com CommandType = adcmdtext, não dar o erro. O que ocorre ?
Se alguém poder ajudar,
t+
   
virtam
GUARULHOS
SP - BRASIL
ENUNCIADA !
Postada em 25/06/2004 00:05 hs            
precisamos saber o conteúdo de sua SP...
   
xprata
não registrado
ENUNCIADA !
Postada em 25/06/2004 10:11 hs   
Resumidamente é isso:
 
 
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
IF EXISTS (SELECT name  FROM   sysobjects  WHERE  name = 'SP_GRAVA')
    DROP PROCEDURE SP_GRAVA
GO
CREATE PROCEDURE SP_GRAVA @CAMPO1 INT,@CAMPO2 ....
AS
SET NOCOUNT ON
BEGIN
   DECLARE @VAR1 MONEY,@VAR2 MONEY,@PRO_VALOR VARCHAR(100)
   DECLARE @TAB1 TABLE (CMP1 INT,CMP2 MONEY....)
   --Se tem problema
   SET @PRO_VALOR=(SELECT 'tem problema' FROM TABELAX x WHERE x.campo1=@campo1)
   IF @PROB_VALOR IS NOT NULL
      BEGIN
  INSERT INTO @TAB1(CMP1,CMP2,....)
  SELECT CAMPO1,CAMPO2,... FROM TAB2 WHERE...
      END
   ELSE
      RETURN
END
INSERT INTO TABELA2(VALOR) VALUES(@OBS)
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
   
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página