Foros del Web » Programación para mayores de 30 ;) » .NET »

manejo de exepciones sql

Estas en el tema de manejo de exepciones sql en el foro de .NET en Foros del Web. buenas noches... llego con una consulta . estoy intentando utilizar el manejo de expepciones de sql.. trabajando con ado.net llego a un drama... no recuerdo ...
  #1 (permalink)  
Antiguo 11/12/2011, 18:07
 
Fecha de Ingreso: agosto-2008
Mensajes: 367
Antigüedad: 15 años, 7 meses
Puntos: 5
manejo de exepciones sql

buenas noches... llego con una consulta . estoy intentando utilizar el manejo de expepciones de sql.. trabajando con ado.net llego a un drama... no recuerdo como enviar un mensaje segun la exepcion. ya que desde la capa dataaccesslayer no veo de ninguna forma el label de la capa view. y no recuerdo como llegar hasta el para mostrar un mensaje...


public class Dao_particular
{
private SqlConnection conexion;
private SqlCommand comando;



public void alta_particular(particular p)
{
try
{

conexion = new SqlConnection();
comando = new SqlCommand();
conexion.ConnectionString = "Data Source=localhost;Initial Catalog=obligatorio4;Integrated Security=true";
comando.CommandText = "proc_alta_cliente_particular";
comando.CommandType = CommandType.StoredProcedure;
comando.Connection = conexion;
conexion.Open();
comando.Parameters.Add("@nombre", SqlDbType.VarChar).Value = p.Nombre;
comando.Parameters.Add("@apellido", SqlDbType.VarChar).Value = p.Apellido;
comando.Parameters.Add("@direccion", SqlDbType.VarChar).Value = p.Direccion;
comando.Parameters.Add("@numero_puerta", SqlDbType.VarChar).Value = p.Numero_puerta;
comando.Parameters.Add("@telefono", SqlDbType.VarChar).Value = p.Telefono;
comando.Parameters.Add("@documento", SqlDbType.VarChar).Value = p.Documento;
comando.Parameters.Add("@tarjetaCredito", SqlDbType.VarChar).Value = p.TarjetaCredito;
comando.Parameters.Add("@tarjetaCreditoNumero", SqlDbType.VarChar).Value = p.TarjetaCreditoNumero;
comando.Parameters.Add("@apartamento", SqlDbType.VarChar).Value = p.Apartamento;
comando.Parameters.Add("@estado", SqlDbType.Int).Value = p.Estado;
comando.Parameters.Add("@referencia", SqlDbType.VarChar).Value = p.Referencia;
comando.ExecuteNonQuery();
conexion.Close();
}
catch (SqlException sql)
{

aqui lo igualaria al label pero no me lo reconoce = sql.Message.ToString();

}


}

espero me puedan dar una mano ya que no ecuentro info sobre esto mas que trabajando con otros formatos.. muchas gracias!!!!!!!!!!
bueno obviamente estamos hablando de q estamos trabajando con ado. en 3 capas o 4 como la llaman otros......

Última edición por rrecarte; 11/12/2011 a las 19:21
  #2 (permalink)  
Antiguo 13/12/2011, 09:55
Avatar de drako_darpan  
Fecha de Ingreso: octubre-2008
Ubicación: Sinaloa
Mensajes: 617
Antigüedad: 15 años, 6 meses
Puntos: 58
Respuesta: manejo de exepciones sql

Hola que tal, bueno yo uso el odbc, haber si te sirve:

try
{
Condicion a Validar
}
catch( OdbcException oex )
{
Mensaje de error del ODBC
}
catch( Exception ex )
{
Mensaje de error diferente al ODBC
}
  #3 (permalink)  
Antiguo 13/12/2011, 13:23
Avatar de ldcd  
Fecha de Ingreso: enero-2010
Ubicación: Distrito Federal
Mensajes: 57
Antigüedad: 14 años, 3 meses
Puntos: 6
Respuesta: manejo de exepciones sql

Yo lo que hago es un throw de la excepcion

public void consultarBD()
{
try
{
Operaciones en BD
}
catch( SqlException ex )
{
throw ex;
}
}

y en la capa de la vista recuperas el valor de la excepcion

try
{
consultarBD();
}
catch(SqlException ex)
{
labe1.Text = ex.Message.ToString();
}

de esta manera mostrarias en la etiqueta el mismo error que te regreso el metodo de arriba
  #4 (permalink)  
Antiguo 13/12/2011, 14:10
Avatar de drako_darpan  
Fecha de Ingreso: octubre-2008
Ubicación: Sinaloa
Mensajes: 617
Antigüedad: 15 años, 6 meses
Puntos: 58
Respuesta: manejo de exepciones sql

Hola que tal, bueno ese metodo throw no lo habia usado, pero es bueno investigar para que sirve

El metodo que yo uso es:

try
{
Condicion
}
catch( OdbcException oex )
{
MessageBox.Show( "Ocurrio un error: \n" + oex.Message.ToString(),"Error ODBC",MessageBoxButtons.OK, MessageBoxIcon.Error);
}
catch (Exception ex)
{
MessageBox.Show("Ocurrio un error: \n" + ex.Message.ToString(), sTitulo, MessageBoxButtons.OK, MessageBoxIcon.Error);
}

Asi es mas directo, pero como dicen todos los caminos llevan a roma

Etiquetas: manejo, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:24.