Usuário com melhor resposta
ATUALIZAÇÃO DE CHAVE PRIMARIA que tem relacionamento com outra tabela

Pergunta
-
Olá
tendo as tabelas LOGRADOURO(Cep,nome,bairroCodigo,ts)
e
ENDERECO(enderecoCodigo,numero,complemento,Cep,ts)
onde o atribudo em BOLD é PK e os sublinhados FOREIGN KEY
para efetuar uma alteração do CEP na tabela LOGRADOURO, recebo na storeProcedure os argumentos:
ALTER
PROCEDURE [dbo].[vddasp_updLogradouro](
@cep
char(8),@cepNew
char(8),@nome varchar(50),
@ts
timestamp,@ltsnew ti
mestamp OUTPUT,@retErroNum
int OUTPUT,@retErroMsg
nvarchar(255) OUTPUT )AS
BEGIN
TRY SET @retErroNum = 0nome =
@nome WHERE (cep = @cep) AND ((@Ts IS NULL) or (ts = @ts)) IF @@ROWCOUNT <> 0 SELECT @cep = cep,@nome
= nome,@tsnew = ts,
FROM logradouro WHERE cep = @cepEND
TRYBEGIN
CATCH SELECT ERROR_NUMBER() as erroNumero, ERROR_MESSAGE() as erroMensagem PRINT ERROR_NUMBER() PRINT ERROR_MESSAGE() SET @retErroNum = ERROR_NUMBER() SET @retErroMsg = ERROR_MESSAGE()END
CATCHA dúvida ocorre na configuração do parametro no dataAdapter para informar o parametro @Cep e @cepNew. O que tentei fazer da seguinte forma:
cepOld.Direction = ParameterDirection.InputOutput
cepOld.SourceVersion = DataRowVersion.Original
adp.parameters.add(cepOld)
Dim cepNew As New SqlParameter("@cepNew", SqlDbType.Char, 8, "cep")cepNew.Direction = ParameterDirection.Input
cepNew.version = DataRowVersion.Current
adp.parameters.add(
cepNew)recebo a mensagem de que o parametro já está definido na coleção de parametros.
O que poderia estar errado?
takeo
: