none
Constraint Exception RRS feed

  • Pregunta

  • Que tal ... como les va?

    Me surgió el siguiente problema y sinceramente no encuentro manera de resolverlo.

    El caso es el siguiente, tengo 3 foreach anidados para agregar registros a una DataTable. Al mismo tiempo, a ese DataTable le asigné una CONSTRAINT para evitar el ingreso duplicado de filas.

    El problema se me presenta cuando precisamente intenta insertar un registro que ya existe (lo cual obviamente dispara una Constraint Excepción). El tema es que yo quiero que siga con la iteración para la inserción de filas, pero el

    catch sale del método y no continúa con la iteración.

    El código es más o menos asi:

     

    foreach (DataRow dr1 in coleccion1.rows)

    {

          foreach (DataRow dr2 in coleccion2.rows)

          {

                foreach (DataRow dr3 in coleccion3.rows)

                {

                      try

                      {

                              dtTable.Rows.Add(dr1["campo"], dr2["campo"], dr3["campo"]);

                      }

                      catch (ConstraintException ex)

                      {

                      }

                }

           }

    }

     

    Cualquier consejo para resolver este inconveniente sera bievenido.

    Gracias a todos.

    domingo, 8 de julio de 2007 0:31

Todas las respuestas

  • Si pones la línea:

     

    dtTable.Rows.Add(dr1["campo"], dr2["campo"], dr3["campo"]);

     

    En una función que retorne un booleano con el resultado de la operación, no tendrás problemas.

     

    En C# la única opción de emular el "on error resume next" de VB.NET es mediante etiquetas y la poco popular sentencia "goto"...

     

    Salud!

    domingo, 8 de julio de 2007 7:33
  • y el try catch tambien deberia estar en la funcion?
    martes, 10 de julio de 2007 2:02
  • Efectívamente, es vital para determinar el resultado de la misma.

     

    Salud!

    martes, 10 de julio de 2007 5:02