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

Error en VB.NET

Estas en el tema de Error en VB.NET en el foro de .NET en Foros del Web. Hola a todos!, estamos trabajando un proyecto en Vb.net (generando ASP), Oracle, y tenemos una consulta que hace joins a varias tablas, bueno, generamos el ...
  #1 (permalink)  
Antiguo 09/05/2005, 12:23
 
Fecha de Ingreso: septiembre-2002
Mensajes: 23
Antigüedad: 21 años, 8 meses
Puntos: 0
Error en VB.NET

Hola a todos!, estamos trabajando un proyecto en Vb.net (generando ASP), Oracle, y tenemos una consulta que hace joins a varias tablas, bueno, generamos el adapter con esa consulta, y luego, generamos el dataset correspondiente para ese adapter, pero, cuando corremos el proyecto e intentamos llenar el dataset, nos da el siguiente error:

"no se pudieron habilitar las restricciones. una o varias filas contienen valores que infringen las restricciones non-null, unique o foreign-key"

y no nos deja hacer nada, cuando metemos la consulta a cualquier consola de SQL, nos da los datos sin ningun problema pero al correrla en .NET nos genera ese error... ayuda please!!!

Última edición por -JF-; 09/05/2005 a las 12:36
  #2 (permalink)  
Antiguo 09/05/2005, 13:04
Avatar de charlytesis  
Fecha de Ingreso: agosto-2003
Ubicación: La Paz - Bolivia
Mensajes: 207
Antigüedad: 20 años, 8 meses
Puntos: 1
JF, creo que es un pequeño no se si decirlo problema que tiene el Visual Basic.net, pero respeta mucho cuando se tiene valores nulos, y de la misma manera cuando es llave primaria que no permite duplicados, a mi me pasa lo mismo, cuando quiero introducir valores nulos, pero lo que puedes hacer es una restriccion, donde este ingresando un nulo en la BD, te ingrese un "null" y lo mismo para la llave primaria que no acepte duplicados.

Al correrlo en consultas SQL no pasa ese error, pero si pasara en el VB.NET, te recominedo que realices ese cambio.

Un saludo
__________________

Saludos desde el corazón de América.....BOLIVIA
Da lo mejor de ti, que siempre será recompensado


  #3 (permalink)  
Antiguo 09/05/2005, 18:24
 
Fecha de Ingreso: septiembre-2002
Mensajes: 23
Antigüedad: 21 años, 8 meses
Puntos: 0
Gracias Charlie, ya solucionamos el problema pero no se si de la mejor forma , lo que hicimos fue en una de las propiedades del DataSet, que es "Enforce Constraints" ponerla a False y funcionó... que era lo que necesitabamos, igual para este caso no hacemos inserciones a la BD solamente la consulta para generar un reporte en Crystal Reports... siempre muchas gracias por tu ayuda
  #4 (permalink)  
Antiguo 10/05/2005, 08:41
 
Fecha de Ingreso: mayo-2004
Ubicación: Guadalajara, Jalisco, México
Mensajes: 724
Antigüedad: 20 años
Puntos: 6
-JF- ten cuidadado con eso... Mira, Enforce Constraints = False sirve para que el dataset no respete la relacion que hay entre tablaPrincipal - tabladetalle... es decir, la integridad referencial se anula...

Yo te recomentaría que optimizes tu consulta sql para que traiga los datos tablaPrincipal - tabladetalle, es decir, que te regrese un resultado consistente...

"no se pudieron habilitar las restricciones. una o varias filas contienen valores que infringen las restricciones non-null, unique o foreign-key"

Es posible que te estes trayendo datos de la tabla de detalles y que no existan en la tabla principal, osea que no haya relacion entre ambas (ya hablando de registros)

Checa bien tu consulta , verás q tengo razón///

Salu2
  #5 (permalink)  
Antiguo 23/09/2008, 10:11
 
Fecha de Ingreso: enero-2004
Mensajes: 77
Antigüedad: 20 años, 4 meses
Puntos: 0
Respuesta: Error en VB.NET

Hola sobre la misma consulta, me sucede que los campos Datetime e Int de un Dataset no me permite dejarlos en Nulo.

Y tampoco me toma el cambio del EnforceConstraints pues sigue saliendo la Excepción.

En este caso la lectura es de una sola tabla, pero si vienen enteros o Fechas nulas .Net no me lo permite.

¿Qué se puede hacer?
  #6 (permalink)  
Antiguo 09/10/2008, 07:46
 
Fecha de Ingreso: octubre-2008
Mensajes: 19
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Error en VB.NET

-JF-:
El error puede deberse a una situacion especifica:

Reproduccion del problema:

1. Creas una tabla en la BBDD.
2. Agregas la misma al Dataset Designer
3. Modificas diferentes tipos en uno o varios campos de la BBDD mediante un administrador externo a VS. Ej. Aumentas la cantidad de caracteres maximos de un campo, o lo cambias de int a float, etc.
4. Al hacer el fill del dataAdapter se reproduce el error.

Solución:

1. Desdel el Dataset Designer en VS, abres el DataTable en cuestion, opcion configurar (click boton derecho), copias el string de la instruccion select y lo almacenas en notepad temporalmente.
2. Eliminas el Datable.
3. Creas uno nuevo con el mismo nombre que el anterior, cuando te pide la instruccion select, la pegas desde el notepad, le das a Finalizar.

Notas finales:

Quizas sea tu caso, como dijeron en un post arriba, esto se debe a una inconsistencia en la presentacion de datos, pero a veces no necesariamente a una realidad de ello sino a las referencias que se utilizaron en el momento de crear el DataTable. Puedes corregirlo desde XAML, pero lleva un poco mas de tiempo.
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 20:12.