Retroceder   Foros del Web > Programación para sitios web > .NET > web forms

Respuesta
 
Herramientas Desplegado
Antiguo 12-ene-2006, 10:11   #1 (permalink)
kejos está en el buen camino
 
Avatar de kejos
 
Fecha de Ingreso: septiembre-2005
Mensajes: 98
Enviar un mensaje por MSN a kejos Enviar un mensaje por Yahoo  a kejos
Pregunta confusion con inserción

Hola a todos tengo un pequeño dilema...
Les cuento yo estoy insertando datos a mi base de datos sqlserver con el siguiente procedimiento almacenado:

Código:
CREATE procedure spInsertarAct (@nombreactividad nvarchar(50), 
@docidentidad varchar(30)) AS 
if not exists (select [nombreactividad], [docidentidad] from
Actividades where [nombreactividad]=@nombreactividad and 
[docidentidad]=@docidentidad) 
INSERT INTO [Actividades] ([nombreactividad], 
[docidentidad]) VALUES(@nombreactividad, @docidentidad)
entonces cuando voy a ejecutar en mi aplicación el procedimiento almacenado así:

Código:
//insertar en tabla actividades
SqlCommand CmdIns = new SqlCommand("spInsertarAct", MyCon);
CmdIns.CommandType = CommandType.StoredProcedure;
CmdIns.Parameters.Add(new SqlParameter("@nombreactividad ", SqlDbType.NVarChar, 50));
CmdIns.Parameters["@nombreactividad "].Value =TbActividades.Text;
CmdIns.Parameters.Add(new SqlParameter("@docidentidad", SqlDbType.VarChar, 30));
String doc = Session["MySessionVar"].ToString();
CmdIns.Parameters["@docidentidad"].Value = doc;
CmdIns.Connection.Open();
try
{
    CmdIns.ExecuteNonQuery();
}
catch (Exception ex)
{
    Response.Write("La insercion fallo" + ex.Message);
}
CmdIns.Connection.Close();
El funciona correctamente en caso de estar repetido no lo inserta y en caso de no estarlo lo inserta....
lo que yo quiero es obtener el valor del procedimiento cuando lo ejecuto en la aplicación para mostrar msgbox dependiendo de lo que devuelva el procedimiento; es decir, cuando inserte me devuelva un valor y yo obtenerlo y lo mismo cuando no lo inserte por el if not exists del procedimietno

a quien me pueda ayudar se lo agradezco
kejos está desconectado   Responder Citando
Antiguo 12-ene-2006, 10:42   #2 (permalink)
Colaborador
Andres95 tiene algunos puntos positivos de karma
 
Avatar de Andres95
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.079
trata de ponerlo tabulado... asi no se entiende....

si lo que quieres es atraparlo con un catch... genera el error en el sql..

if (exists)
inserta()
else
raiserror('El registro ya existe',16,1)
Andres95 está desconectado   Responder Citando
Antiguo 12-ene-2006, 11:49   #3 (permalink)
kejos está en el buen camino
 
Avatar de kejos
 
Fecha de Ingreso: septiembre-2005
Mensajes: 98
Enviar un mensaje por MSN a kejos Enviar un mensaje por Yahoo  a kejos
lo hice así y igual me sale el msgbox que tengo para el registro insertado y no me sale el error
kejos está desconectado   Responder Citando
Antiguo 12-ene-2006, 11:53   #4 (permalink)
kejos está en el buen camino
 
Avatar de kejos
 
Fecha de Ingreso: septiembre-2005
Mensajes: 98
Enviar un mensaje por MSN a kejos Enviar un mensaje por Yahoo  a kejos
Hola!!!!
este error dado desde sql cómo puedo hacer para mostralo en un msgbox?????
kejos está desconectado   Responder Citando
Antiguo 12-ene-2006, 11:56   #5 (permalink)
kejos está en el buen camino
 
Avatar de kejos
 
Fecha de Ingreso: septiembre-2005
Mensajes: 98
Enviar un mensaje por MSN a kejos Enviar un mensaje por Yahoo  a kejos
ya gracias por tu respuesta me sirvio mucho ya pude colocarlo en el msgbox y todo
gracias

chao chao
kejos está desconectado   Responder Citando
Antiguo 13-ene-2006, 09:49   #6 (permalink)
9.jorge ha deshabilitado el karma
 
Fecha de Ingreso: noviembre-2005
Mensajes: 129
Otra forma de saber el resultado del ExecuteNonQuery es así:
int result = 0;

result = CmdIns.ExecuteNonQuery();

if(result > 0)
//todo ha ido bien y se insertó el registro
else
//el registro no se insertó
9.jorge está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 01:10.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93