ASP.NET - duda con inserción

 
Vista:

duda con inserción

Publicado por kelly johana (49 intervenciones) el 12/01/2006 19:15:55
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:

[CODE]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)[/CODE]

entonces cuando voy a ejecutar en mi aplicación el procedimiento almacenado así:

[CODE]//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();[/CODE]

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
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

RE:duda con inserción

Publicado por Javier Guerrero (20 intervenciones) el 16/01/2006 18:01:09
pienso ahora en 2 cosas para solventar eso. la primera es que declares una variables integer "CmdIns" para este ejemplo
y antes de ejecutar esto " " le pongas
drContarNO = CmdIns.ExecuteNonQuery(); de deberia de devolver 1 si hizo insert.

lo otro seria llama 2 veces a un SP que haga count de esa tabla
una vez antes y otra despues de ejecutar el procedimiento . luego restas si te da cero es que no hizo el insert. y muestras tu msg....

espero que cualquiera de las 2 te puedan ayudar. 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