Bases de Datos - conectar procedimiento almacenado con la DAL

 
Vista:

conectar procedimiento almacenado con la DAL

Publicado por epalau (1 intervención) el 13/06/2011 17:36:44
Hola, necesito que me ayuden con lo siguiente, de antemano gracias por cualquier comentario.

tengo un procedimiento almacenado que consulta mi base de datos para buscar si hay una cedula repetida:

ALTER PROCEDURE [dbo].[sp_BuscarPersona]
@Cedula int
AS
BEGIN
DECLARE @RESULTADO INT

IF EXISTS (SELECT Cedula FROM Persona WHERE Cedula = @Cedula)

SET @RESULTADO = 1

ELSE

SET @RESULTADO = 0

return @RESULTADO
END

y tengo este codigo en la DAL donde hago las conexiones

public string ConsultarCedula(Persona varPersona)
{
string rpta = "";
SqlConnection sqlcon = new SqlConnection();

try
{
//establezco la conexion
sqlcon.ConnectionString = Conexion.cn;

//abro la conexion
sqlcon.Open();

//establezco comando
SqlCommand sqlCmd = new SqlCommand();
sqlCmd.Connection = sqlcon;
sqlCmd.CommandText = "spD_BuscarPersona";
sqlCmd.CommandType = CommandType.StoredProcedure;

//valores para parametro @Cedula del procedimiento almacenado

SqlParameter sqlParCedula = new SqlParameter();
sqlParCedula.ParameterName = "@Cedula";
sqlParCedula.SqlDbType = SqlDbType.Int;
sqlParCedula.Value = varPersona.cedula;
sqlCmd.Parameters.Add(sqlParCedula);

//ejecutamos el commando
rpta = sqlCmd.ExecuteNonQuery() == 0 ? "OK" : "La persona ya existe en la base de datos";
}
catch (Exception ex)
{
rpta = ex.Message;
}
finally
{
if (sqlcon.State == ConnectionState.Open)
sqlcon.Close();
}
return rpta;
}


mi pregunta es, que le hace falta al codigo para que sea funcional.


Muchas gracias
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
sin imagen de perfil

conectar procedimiento almacenado con la DAL

Publicado por juan (11 intervenciones) el 14/07/2011 00:52:57
en vez de "sqlCmd.ExecuteNonQuery" trata con "sqlCmd.ExecuteScalar"
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