Ver Mensaje Individual
  #3 (permalink)  
Antiguo 12/04/2010, 14:51
XDMerinoM
 
Fecha de Ingreso: febrero-2010
Ubicación: Guayaquil - Ecuador
Mensajes: 350
Antigüedad: 14 años, 2 meses
Puntos: 13
Respuesta: Procedimiento almacenado para insertar

Hola como estas, te dare unos cuantos consejos que espero te sean de utilidad:
1.- Tu puedes crear un codigo base para todas tus pantallas y reusarlo esta bien, pero primero tienes que tener bien definidas las funcionalidades de tu aplicacion para poder saber donde puedes aplicar este mismo codigo para diferentes procesos. Asi mismo tener bien definidas tus capas de negocios y de datos para realizar todas las validaciones necesarias para el correcto funcionamiento de tu codigo. Si vas a usar mas validaciones dentro de tu store realizar otros stores o buen funciones para dichas validaciones.
2.- Te recomiendo que manejes la transaccionalidad por medio de tu frontal por medio de codigo simple y sencillo, al tener el try-catch afuera obtendras mayor variedad de errores controlados no solo de SQL sino del mismo .NET, ya que tendras que validar internamente el store y volver a validar la captura del error o el error interno de codigo y rpesentarlo en pantalla.
3.- A tu pregunta, puedes manejar un parametro @proceso varchar(1) y lo alimentas con 'I' para ingreso de datos, 'M' para modificar, 'C' consultas, etc. y a tus parametros les pones:
@indDescripcion varchar (max) = '',
@indFechaHora datetime = fecha_por_defecto,
@msg varchar (max) = ''
esto para darles valores por defecto a los mismos y no tengas problemas al momento de realizar otro proceso y seria algo asi:

if proceso = 'I'
begin
proceso
end

if proceso = 'C'
begin
proceso
end

etc, etc, etc... yo siempre lo uso asi con buenos resultados.
4.- No uses varchar(max), siempre especifica un valor para tu varchar ya que eso hace separacion de memoria en disco para la base y para el proceso y por rendimiento es un desperdicio ya que no siempre usaras el max. Usa valores proporcionales como por ejemplo para descripcion y mensaje 100.

Espero haberte ayudado