Bases de Datos - Insertar o Actualizar un Registro utilizando Identity

 
Vista:
sin imagen de perfil

Insertar o Actualizar un Registro utilizando Identity

Publicado por Oscar Danilo (7 intervenciones) el 05/01/2016 01:15:12
Hola muy buenas noches amigos, les escribo nuevamente porque tengo un gran dilema o problema:

En mi BD SQL Server 2012 tengo un procedimiento almacenado:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
CREATE PROCEDURE InsertarActualizarMedidas(
@Id_Medida int,
@Descripcion VarChar(20),
@Usuario_Creacion VarChar(10)
)
 
AS
BEGIN
 
	Begin try
                Update Medidas Set Descripcion=@Descripcion, Usuario_Creacion= @Usuario_Creacion where Id_Medida=@Id_Medida
	end try
 
	Begin Catch
                 		Insert into Medidas Values(@Descripcion, @Usuario_Creacion )
	End Catch
END
GO

este procedimiento lo llamo desde mi aplicación vb.net 2012; está función toma tres parámetros, cuando se trata de actualizar todo marcha bien, pero cuando se trata de insertar un nuevo registro solo necesito dos parámetros, no marca error pero tampoco inserta dicho registro.

De antemano, muchas gracias.

Nota: La Bd trabajará en Red, elegí utilizar identity para facilitarme un poco el problema que dos o más usuarios a la vez inserten o actualicen un registro y este se reemplace por otro usuario que realiza la misma operación en ese momento. Sino, ¿Qué método me aconsejan???
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Danny

Insertar o Actualizar un Registro utilizando Identity

Publicado por Danny (1 intervención) el 06/01/2016 21:48:23
Si pusiste el campo como Identity esta perfecto, solo asegurate de haber marcado la propiedad Identity Increment y setear el valor a 1 para que aumente en automatico cada vez que haces la insercion, de lo contrario no te permitira hacerlo.

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Insertar o Actualizar un Registro utilizando Identity

Publicado por Oscar Danilo (7 intervenciones) el 14/01/2016 21:39:39
Hola Danny, la propiedad identity y el incremento lo defino al crear la tabla:

1
2
3
4
5
6
Create Table MEDIDAS(
 Id_Medida int PRIMARY KEY IDENTITY(1,1) Not Null,
 Descripcion Varchar(20) Not Null,
 Usuario_Creacion Varchar(10) Not Null Foreign Key(Usuario_Creacion)
References Usuarios(Usuario)
)

y posteriormente creo el procedimiento:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
CREATE PROCEDURE InsertarActualizarMedidas(
@Id_Medida int,
@Descripcion VarChar(20),
@Usuario_Creacion VarChar(10)
)
 
AS
BEGIN
 
	Begin try
                Update Medidas Set Descripcion=@Descripcion, Usuario_Creacion= @Usuario_Creacion where Id_Medida=@Id_Medida
	end try
 
	Begin Catch
                 Insert into Medidas Values(@Descripcion, @Usuario_Creacion )
	End Catch
END
GO

y cuando llamo la función desde la aplicación Vb.net 2012, lo único que hace es actualizar pero no me inserta un registro en el caso que el registro exista.

¿Dónde estará el error?

Saludos,

Gracias de antemano,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar