Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

William Penaforte

procedure e insert

Recommended Posts

Ola a todos

 

Estou aqui novamente procurando uma solução!

 

criei uma prcedure num banco sql server 7 e ela me retorna um erro de execução

 

bom 1º queria saber se a sql esta bem montada.

bom 2º sera que a ordem emque o dados estao dispostos difere na intrução sql?

bom 3º onde eu erei Deus

 

o codigo e o seguinte

 

DADOS PARA PROCEDURE.

<BR>

<br>

NUMREG_FORN :

<% NUMFOR = session("id")

response.write NUMFOR %> ' esta ok funcioa

<br>

NUMREG_COTACAO: <%NUMCOT = rs(0)

RESPONSE.WRITE NUMCOT %>' esta ok funcioa

<br>

NUMREG_COTACAO_ITENS: <%NUMCOTITEM = rs(1)

RESPONSE.WRITE NUMCOTITEM%>' esta ok funcioa

<br>

NUMREG_ITENS: <%NUMITEM = rs(2)

RESPONSE.WRITE NUMITEM%>' esta ok funcioa

<BR>

TAREFA: <%I = ("INSERIR")

RESPONSE.WRITE I%>' esta ok funcioa

<BR>

CUSTO:

<%

A = REQUEST.FORM(RS(2))

'response.clear

response.write a

%>' esta ok funcioa

<BR>

QUANTIDADE:

<%QT = rs(6)

RESPONSE.WRiTE QT%>' esta ok funcioa

 

<%

sql "execute sp_Inclui_Categorias "&I&",'"&NUMCOT&"','"&NUMCOTITEM&"','"&NUMITEM&"','"&NUMFOR&"','"&A&"'"

 

set rs = objConn.Execute(sql)

 

rs.movefirst

While not rs.eof

 

' este e o erro

Tipo de erro:

Erro de tempo de execução do Microsoft VBScript (0x800A000D)

Tipos incompatíveis: 'sql'

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola a todos

 

Estou aqui novamente procurando uma solução!

 

criei uma prcedure num banco sql server 7 e ela me retorna um erro de execução

 

bom 1º queria saber se a sql esta bem montada.

bom 2º sera que a ordem emque o dados estao dispostos difere na intrução sql?

bom 3º onde eu erei Deus

 

o codigo e o seguinte

 

DADOS PARA PROCEDURE.

<BR>

<br>

NUMREG_FORN :

<% NUMFOR = session("id")

response.write NUMFOR %> ' esta ok funcioa

<br>

NUMREG_COTACAO: <%NUMCOT = rs(0)

RESPONSE.WRITE NUMCOT %>' esta ok funcioa

<br>

NUMREG_COTACAO_ITENS: <%NUMCOTITEM = rs(1)

RESPONSE.WRITE NUMCOTITEM%>' esta ok funcioa

<br>

NUMREG_ITENS: <%NUMITEM = rs(2)

RESPONSE.WRITE NUMITEM%>' esta ok funcioa

<BR>

TAREFA: <%I = ("INSERIR")

RESPONSE.WRITE I%>' esta ok funcioa

<BR>

CUSTO:

<%

A = REQUEST.FORM(RS(2))

'response.clear

response.write a

%>' esta ok funcioa

<BR>

QUANTIDADE:

<%QT = rs(6)

RESPONSE.WRiTE QT%>' esta ok funcioa

 

<%

sql "execute sp_Inclui_Categorias "&I&",'"&NUMCOT&"','"&NUMCOTITEM&"','"&NUMITEM&"','"&NUMFOR&"','"&A&"'"

 

set rs = objConn.Execute(sql)

 

rs.movefirst

While not rs.eof

 

' este e o erro

Tipo de erro:

Erro de tempo de execução do Microsoft VBScript (0x800A000D)

Tipos incompatíveis: 'sql'

Bem William Penaforte , sem ver o código fonte da sua SP (Stored Procedure), sem saber qual a definição dos campos das mesma e com base na mensagem de erro, tudo leva a crer que você está passando dados de tipo incompativeis.

 

Exemplo: Se sua SP tem um campo do tipo NUMERIC(5) e você resolve passar um valor do tipo STRING para esse campo não irá funcionar.

 

Logo aconselho a você duas coisas básicas no trato junto à SP, primeiro definina corretamente o tipo de cada parametro (e campo) da sua SP e sempre faça referência do nome do campo na sua página ASP, pois amanhã na hora da manutenção facilitará a sua vida. Segue abaixo um pequeno exemplo de SP e chamada em ASP.

 

Stored Procedure.

 

CREATE STORED PROCEDURE DBO.SP_MEUTESTE(

@CAMPO1 NUMERIC(5),

@CAMPO2 VARCHAR(50)

@CAMPO3 DATETIME

AS

 

SELECT @CAMPO1, @CAMPO2, @CAMPO3

 

-*-*--*

ASP:

 

<%

Set rs = Server.CreateObject ("ADODB.RECORDSET")

 

sql = "EXECUTE SP_MEUTESTE @CAMPO1=" & variavel1 & " ,@CAMPO2 = '" & Trim(variavel2) & "', @campo3 ='" & Cdate(variavel3) & "'"

 

SET RS = objConn.Execute(sql)

 

If not RS.EOF Then

 

......sua implementação vai aqui....

End if

 

rs.close

set rs = nothing

 

Espero ter ajudado, abraços e boa sorte.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.