|
Postada em 31/10/2005 13:24 hs
Tenho uma procedure que eh assim: CREATE PROCEDURE sp_GravaEmpFunc
@iduser int, @nome Varchar(100), @cnpj Varchar(25), @email Varchar(100), @fone Varchar(25)
AS
Insert Into func_empresa (iduser,nome,cnpj,email,telefone,status) Values(@iduser,@nome,@cnpj,@email,@fone,1)
e estou chamando ela dentro do VB assim: Dim Sql As String Dim Aviso As Integer Dim cmGrava As ADODB.Command
Set cmGrava.ActiveConnection = Cn cmGrava.CommandText = "sp_GravaEmpFunc" cmGrava.CommandType = 4 cmGrava.Prepared = True cmGrava.Parameters.Refresh cmGrava.Parameters("@iduser") = idUsuario cmGrava.Parameters("@nome") = txNome cmGrava.Parameters("@cnpj") = txCnpj cmGrava.Parameters("@fone") = txFone cmGrava.Parameters("@email") = txEmail cmGrava.Execute
Mas acontece que ele nao grava no banco nem a pau. nao dah erro mas tambem nao grava. O que posso estar fazendo de errado????
|
|
|
|
Erico
|
SALVADOR BA - BRASIL
|
|
Postada em 31/10/2005 15:17 hs
Veja o codigo abaixo e altere o seu. Acho que vai resolver seu problema : lcomSec.CreateParameter "ano_ref_orcam", adSmallInt,1 lcomSec.CreateParameter "cod_chave",adSmallInt, 1 lcomSec.CreateParameter "cod_nivel",adInteger, 1 lcomSec.CreateParameter "cod_regiao",adInteger, 1 lcomSec.CreateParameter "cod_municipio",adInteger, 1 lcomSec.Parameters(1) = session("anoReferencia") lcomSec.Parameters(2) = session("codChave") lcomSec.Parameters(3) = session("codNivel") lcomSec.Parameters(4) = session("codRegiao") lcomSec.Parameters(5) = session("codMunicipio")
A.Erico S.Peixoto -------------------- Analista de Sistemas
|
|
|
|
Postada em 31/10/2005 15:39 hs
Erico, nao grava. Nao vai nem a pau Se vc souber outra maneira
|
|
|
Erico
|
SALVADOR BA - BRASIL
|
|
Postada em 31/10/2005 16:17 hs
Altere essas linhas tb: dim cmGrava as new ADODB.Command cmGrava.ActiveConnection = Cn Já verificou se a conexão está ok?
A.Erico S.Peixoto -------------------- Analista de Sistemas
|
|
|
|
Postada em 01/11/2005 06:34 hs
parece está tudo ok na chamada pelo vb ... faz o seguinte: primeiro tenta executar a sp diretamente no banco de dados com os mesmos parâmetros que você está passando pelo vb, se você conseguir, tenta capturar o erro após executar pelo vb "if err <> 0 ..."
|
|
|
|
Postada em 01/11/2005 07:31 hs
Acontece assim - se eu ir no Query Analizer e passar direto os parametros assim: Exec sp_GravaEmpFunc 1,'Rodrigo','123456','646464646','teste@teste.com.br' funciona perfeitamente. Tah parecendo que o vb nao esta passando os parametros pra a procedure. nao me retorna erro nenhum, nada. a minha conexao com a base de dados eh da seguinte forma: Set Cn = New ADODB.Connection Set Cn = CreateObject("ADODB.Connection") ''Conexao no Sql Server ConectaSql = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=linkacesso;Pwd=123teste;Data Source=DESENVOLVIMENTO;Initial Catalog=linkacesso" Cn.ConnectionString = ConectaSql Cn.CursorLocation = adUseClient Cn.Open
O mais interesante eh que se eu usar uma procedure apenas para fazer busca no banco dah certo, sem problema algum.
|
|
|
|