Hi there,

I'm getting the following exception:

"Failed to enable constraints. One or more rows contain values
violating non-null, unique, or foreign-key constraints."

But the above error message does not apply to my case, so I think this is a bug.

To reproduce, follow this simple steps:

1) Create this domain:

create domain logico
as
char(1)
not null
check (value in ('T','F'))

2) Create this table:

create table usuarios
(
   clave   varchar(10) not null,
   nombre  varchar(50) not null,
   nivel   smallint default 0,
   acceso  varchar(10) not null,
   activo  LOGICO,
   primary key(clave)
);


3) Fill the table up with this script:

INSERT INTO USUARIOS (CLAVE, NOMBRE, NIVEL, ACCESO, ACTIVO) VALUES
('admin', 'Administrador', 10, '123', 'T');
INSERT INTO USUARIOS (CLAVE, NOMBRE, NIVEL, ACCESO, ACTIVO) VALUES
('xochitl', 'Xochitl Diaz', 10, '123', 'F');
INSERT INTO USUARIOS (CLAVE, NOMBRE, NIVEL, ACCESO, ACTIVO) VALUES
('gaby', 'gaby', 2, '123', 'F');
INSERT INTO USUARIOS (CLAVE, NOMBRE, NIVEL, ACCESO, ACTIVO) VALUES
('xochisa', 'Xochitl Diaz', 10, '123', 'T');
INSERT INTO USUARIOS (CLAVE, NOMBRE, NIVEL, ACCESO, ACTIVO) VALUES
('ricardom', 'Ricardo Martínez', 3, '123', 'T');
INSERT INTO USUARIOS (CLAVE, NOMBRE, NIVEL, ACCESO, ACTIVO) VALUES
('soncar7', 'Sr. Carlos Casanova', 10, '123', 'T');
INSERT INTO USUARIOS (CLAVE, NOMBRE, NIVEL, ACCESO, ACTIVO) VALUES
('SANVEL', 'Santiago', 3, '123', 'T');
INSERT INTO USUARIOS (CLAVE, NOMBRE, NIVEL, ACCESO, ACTIVO) VALUES
('EUROS', 'Rossy Alfaro', 2, '123', 'F');
INSERT INTO USUARIOS (CLAVE, NOMBRE, NIVEL, ACCESO, ACTIVO) VALUES
('DIANI', 'Diani', 2, '123', 'F');
INSERT INTO USUARIOS (CLAVE, NOMBRE, NIVEL, ACCESO, ACTIVO) VALUES
('CESARGZZ', 'César', 3, '123', 'F');
INSERT INTO USUARIOS (CLAVE, NOMBRE, NIVEL, ACCESO, ACTIVO) VALUES
('cesarHb', 'Luis', 3, '123', 'T');
INSERT INTO USUARIOS (CLAVE, NOMBRE, NIVEL, ACCESO, ACTIVO) VALUES
('carlosc1', 'Carlos Casanova Jr.', 10, '123', 'T');
INSERT INTO USUARIOS (CLAVE, NOMBRE, NIVEL, ACCESO, ACTIVO) VALUES
('GJCOEA', 'Amado', 2, '123', 'F');
INSERT INTO USUARIOS (CLAVE, NOMBRE, NIVEL, ACCESO, ACTIVO) VALUES
('ADMON06', 'Jose Luis Valadez', 3, '123', 'T');
INSERT INTO USUARIOS (CLAVE, NOMBRE, NIVEL, ACCESO, ACTIVO) VALUES
('BODEGA', 'Bodega', 1, '123', 'T');
INSERT INTO USUARIOS (CLAVE, NOMBRE, NIVEL, ACCESO, ACTIVO) VALUES
('santos', 'Conchis Santos', 3, '123', 'T');
INSERT INTO USUARIOS (CLAVE, NOMBRE, NIVEL, ACCESO, ACTIVO) VALUES
('rickyc', 'Ricardo Casanova', 10, '123', 'T');
INSERT INTO USUARIOS (CLAVE, NOMBRE, NIVEL, ACCESO, ACTIVO) VALUES
('ronaldo9', 'mostrador', 2, '123', 'T');
INSERT INTO USUARIOS (CLAVE, NOMBRE, NIVEL, ACCESO, ACTIVO) VALUES
('mirna', 'MIRNA', 2, '123', 'T');
INSERT INTO USUARIOS (CLAVE, NOMBRE, NIVEL, ACCESO, ACTIVO) VALUES
('mayra87', 'MAYRA', 2, '123', 'T');
INSERT INTO USUARIOS (CLAVE, NOMBRE, NIVEL, ACCESO, ACTIVO) VALUES
('RONALDO9', 'Ronaldo', 2, '123', 'F');
INSERT INTO USUARIOS (CLAVE, NOMBRE, NIVEL, ACCESO, ACTIVO) VALUES
('*.*.*', 'César', 2, '123', 'T');
INSERT INTO USUARIOS (CLAVE, NOMBRE, NIVEL, ACCESO, ACTIVO) VALUES
('mostra', 'MOSTRADOR', 2, '123', 'T');

COMMIT WORK;

As you can see in this data, none of the records violates any of the
constraints, i.e., there are no duplicate values for the 'CLAVE' field
(the PK), the 'ACTIVO' field contains 'T' and 'F' values only, etc.

4) Now run this C# code. Note that I am only 'selecting' one field.

DataTable tabla = new DataTable();

           using (FbConnection conn = new FbConnection(connectionString))
           {
               using (FbCommand cmd = new FbCommand("select clave
from usuarios", conn))
               {
                   using (FbDataAdapter adap = new FbDataAdapter(cmd))
                   {
                       adap.MissingSchemaAction =
MissingSchemaAction.AddWithKey;
                       adap.Fill(tabla);   <=== EXCEPTION HERE
                   }
               }
           }


As I am not violating any of the constraints of the table, the exception

"Failed to enable constraints. One or more rows contain values
violating non-null, unique, or foreign-key constraints."

should be a bug.

So what do you think?

Thanks in advance,

-Benton


-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid0709&bid&3057&dat1642
_______________________________________________
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

Reply via email to