Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-05-2004
maui maui is offline
Miembro
 
Registrado: may 2003
Ubicación: chile
Posts: 40
Poder: 0
maui Va por buen camino
Error Violation Primary Key

HOLA A TODOS

HICE UN MANTENEDOR DE CLIENTES CON UN PROCEDIMIENTO ALMACENADO QUE INSERTA ESTOS DATOS A LA TABLA CLIENTE, LUEGO DE INGRESAR ESTOS DATOS HAGO CLICK EN EL BOTON GUARDAR Y ME SALE EL ERROR:

"violation primary key o unique key integ_838 en la tabla cliente".

Y ESTE ES EL CODIGO QUE ESTOY UTILIZANDO EN DELPHI 6.0.

FrmManclientes.StoredProc.Params[0].AsString:= Edit1.Text;
FrmManclientes.StoredProc.Params[1].AsString:= Edit2.Text;
FrmManclientes.StoredProc.Params[2].AsString:= Edit3.Text;
FrmManclientes.StoredProc.Params[3].AsString:= Edit4.Text;
FrmManclientes.StoredProc.Params[4].AsString:= Edit5.Text;
FrmManclientes.StoredProc.Params[5].AsString:= Edit6.Text;
FrmManclientes.StoredProc.Params[6].AsString:= Edit7.Text;
FrmManclientes.StoredProc.Params[7].AsString:= Edit8.Text;
FrmManclientes.StoredProc.Params[8].AsString:= Edit9.Text;
FrmManclientes.StoredProc.Params[9].AsString:= Edit10.Text;
FrmManclientes.StoredProc.Params[10].AsString:= Edit11.Text;
FrmManclientes.StoredProc.Params[11].AsString:= Edit12.Text;
FrmManclientes.StoredProc.Params[12].AsString:= Edit13.Text;
FrmManclientes.StoredProc.Params[13].AsString:= Edit14.Text;
FrmManclientes.StoredProc.Params[14].AsString:= Edit15.Text;
FrmManclientes.StoredProc.Params[15].AsString:= Edit16.Text;
FrmManclientes.StoredProc.ExecProc;


Por favor necesito una respuesta lo antes posible.....

SALUDOS

MAUI
__________________
m/m/m
Responder Con Cita
  #2  
Antiguo 06-05-2004
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Violation Primary Key = Registro Duplicado

Saca tus conlusiones
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #3  
Antiguo 06-05-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Primero, es fundamental para participar en los foros leer la Guía de Estilo.

Despues de leer esto, te darás que los datos de tu pregunta, no son suficientes como para poder saber cual es el problema.

¿Sabes lo que es una violación a una clave primaria?
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #4  
Antiguo 06-05-2004
maui maui is offline
Miembro
 
Registrado: may 2003
Ubicación: chile
Posts: 40
Poder: 0
maui Va por buen camino
no creo que tenga el rut duplicado es la tabla hecha en interbase 6.0:

create table CLIENTE
(
RUT_CLIENTE CHAR(10) NOT NULL,
PRIMER_NOMBRE VARCHAR(15) NOT NULL,
SEGUNDO_NOMBRE VARCHAR(15) NOT NULL,
PRIMER_APELLIDO VARCHAR(15) NOT NULL,
SEGUNDO_APELLIDO VARCHAR(15) NOT NULL,
DIRECCION_POBLACION VARCHAR(20) NOT NULL,
DIRECCION_CALLE VARCHAR(20) NOT NULL,
DIRECCION_NUMERO VARCHAR(10) NOT NULL,
DIRECCION_DPTO VARCHAR(10) NOT NULL,
DIRECCION_COMUNA VARCHAR(15) NOT NULL,
DIRECCION_CIUDAD VARCHAR(15) NOT NULL,
GIRO VARCHAR(15) NOT NULL,
TELEFONO_FIJO VARCHAR(20) NOT NULL,
TELEFONO_CELULAR VARCHAR(20) NOT NULL,
E_MAIL VARCHAR(50) NOT NULL,
FECHA_INGRESO CHAR(10) NOT NULL,
PRIMARY KEY (RUT_CLIENTE)
);

lo otro averigue que podia ser que me falte una libreria.....

por favor espero tu respuesta amigo.
__________________
m/m/m
Responder Con Cita
  #5  
Antiguo 06-05-2004
maui maui is offline
Miembro
 
Registrado: may 2003
Ubicación: chile
Posts: 40
Poder: 0
maui Va por buen camino
hola amigo

gracias por advertirme.

saludos y si me puedes ayudar buena onda.
__________________
m/m/m
Responder Con Cita
  #6  
Antiguo 06-05-2004
sanxpue sanxpue is offline
Miembro
 
Registrado: jul 2003
Posts: 196
Poder: 21
sanxpue Va por buen camino
Unhappy Pues parece

No te falta ninguna libreria...
por que no pones tu procedimiento almacenado..tal vez ahi este la situacion, por que nada mas pones la creacion de tu tabla y como pasas los parametros pero nunca pones como los insertas
__________________
saludos desde Puebla Mexico..
asanxt@hotmail.com
"como siempre a sus ordenes y siempre con buena cara"
'lolita me excitas, perversa piel de melocotón'
Responder Con Cita
  #7  
Antiguo 06-05-2004
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Cita:
Empezado por maui
HOLA A TODOS

HICE UN MANTENEDOR DE CLIENTES CON UN PROCEDIMIENTO ALMACENADO QUE INSERTA ESTOS DATOS A LA TABLA CLIENTE, LUEGO DE INGRESAR ESTOS DATOS HAGO CLICK EN EL BOTON GUARDAR Y ME SALE EL ERROR:

"violation primary key o unique key integ_838 en la tabla cliente".
Pues estas seguro que no serepite el RUT porq si le pasas uno cuando ya existe en la tabla el error que te da es ese
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #8  
Antiguo 06-05-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Lo importante es saber que es lo que estas ejecutando, sin lugar a dudas ese proceso esta intentando insertar un registro o modificando una clave principal que produce una violación de clave primaria.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #9  
Antiguo 07-05-2004
maui maui is offline
Miembro
 
Registrado: may 2003
Ubicación: chile
Posts: 40
Poder: 0
maui Va por buen camino
hola amigo aca esta el procedimiento almacenado Y ASI ME COMPILO:
SET TERM !!
CREATE PROCEDURE ADD_CLIENT_INFO
(
RUT_CLIENTE CHAR(10),
PRIMER_NOMBRE VARCHAR(20),
SEGUNDO_NOMBRE VARCHAR(20),
PRIMER_APELLIDO VARCHAR(20),
SEGUNDO_APELLIDO VARCHAR(20),
DIRECCION_POBLACION VARCHAR(15),
DIRECCION_CALLE VARCHAR(10),
DIRECCION_NUMERO VARCHAR(10),
DIRECCION_DPTO VARCHAR(15),
DIRECCION_CIUDAD VARCHAR(15),
DIRECCION_COMUNA VARCHAR(15),
GIRO VARCHAR(15),
TELEFONO_FIJO VARCHAR(20),
TELEFONO_CELULAR VARCHAR(20),
E_MAIL VARCHAR(50),
FECHA_INGRESO CHAR(10)
)
AS
BEGIN
INSERT INTO CLIENTE
( RUT_CLIENTE,
PRIMER_NOMBRE,
SEGUNDO_NOMBRE,
PRIMER_APELLIDO,
SEGUNDO_APELLIDO,
DIRECCION_POBLACION,
DIRECCION_CALLE,
DIRECCION_NUMERO,
DIRECCION_DPTO,
DIRECCION_CIUDAD,
DIRECCION_COMUNA,
GIRO,
TELEFONO_FIJO,
TELEFONO_CELULAR,
E_MAIL,
FECHA_INGRESO)
VALUES(:RUT_CLIENTE,
:PRIMER_NOMBRE,
:SEGUNDO_NOMBRE,
:PRIMER_APELLIDO,
:SEGUNDO_APELLIDO,
IRECCION_POBLACION,
IRECCION_CALLE,
IRECCION_NUMERO,
IRECCION_DPTO,
IRECCION_CIUDAD,
IRECCION_COMUNA,
:GIRO,
:TELEFONO_FIJO,
:TELEFONO_CELULAR,
:E_MAIL,
:FECHA_INGRESO );
END;
!!
SET TERM;

y esta es la tabla:

CREATE TABLE CLIENTE
(
RUT_CLIENTE CHAR(10) NOT NULL,
PRIMER_NOMBRE VARCHAR(15) NOT NULL,
SEGUNDO_NOMBRE VARCHAR(15) NOT NULL,
PRIMER_APELLIDO VARCHAR(15) NOT NULL,
SEGUNDO_APELLIDO VARCHAR(15) NOT NULL,
DIRECCION_POBLACION VARCHAR(20) NOT NULL,
DIRECCION_CALLE VARCHAR(20) NOT NULL,
DIRECCION_NUMERO VARCHAR(10) NOT NULL,
DIRECCION_DPTO VARCHAR(10) NOT NULL,
DIRECCION_COMUNA VARCHAR(15) NOT NULL,
DIRECCION_CIUDAD VARCHAR(15) NOT NULL,
GIRO VARCHAR(15) NOT NULL,
TELEFONO_FIJO VARCHAR(20) NOT NULL,
TELEFONO_CELULAR VARCHAR(20) NOT NULL,
E_MAIL VARCHAR(50) NOT NULL,
FECHA_INGRESO CHAR(10),
PRIMARY KEY (RUT_CLIENTE)
);

si me falta una libreria cuales serian?

espero sus comentarios.......
__________________
m/m/m
Responder Con Cita
  #10  
Antiguo 07-05-2004
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Para comenzar
Cita:
Empezado por maui
si me falta una libreria cuales serian?

espero sus comentarios.......
Esta es la repuesta
Cita:
Empezado por sanxpue
No te falta ninguna libreria...
El error no esta en el procedimientoalmacenado el asunto es que duplica la clave primaria, busca elnumerode rut que quieres ingresar y veras que ya existe
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #11  
Antiguo 07-05-2004
sanxpue sanxpue is offline
Miembro
 
Registrado: jul 2003
Posts: 196
Poder: 21
sanxpue Va por buen camino
Lightbulb Pues si no hay duda

Como dice EduarCol..

Checate se me hace que andas pasando una clave primaria repetida y si dices que no entonces has las siguiente pruebas...

Primero cambia el char por varchar en tu indice primario por que no le veo nada de malo a tu SP o si no entonces
create otra tabla, crea un generador y su trigger despues de insertar que le asigne un valor, y si te truena entonces si es el motor.. aunque lo dudo asi de mucho...
__________________
saludos desde Puebla Mexico..
asanxt@hotmail.com
"como siempre a sus ordenes y siempre con buena cara"
'lolita me excitas, perversa piel de melocotón'
Responder Con Cita
  #12  
Antiguo 07-05-2004
maui maui is offline
Miembro
 
Registrado: may 2003
Ubicación: chile
Posts: 40
Poder: 0
maui Va por buen camino
hola amigo sanxpue

tenias razon se estan duplicando los datos, y no es solamente la primary key sino todas, te cuento.... hago click una vez en el boton guardar y me guarda los datos en la tabla en blanco y luego cuando hago click la segunda vez me sale el error y me ingresa los datos.

la cosa es que no entiendo como puedo eliminar ese error, ya que he revizado por cielo, mar y tierra y no he encontrado nada.

lo otro en el formulario estoy ocupando groupbox y edit.

que podra ser?

espero tus comentarios...

y gracias por ayudarme......
__________________
m/m/m
Responder Con Cita
  #13  
Antiguo 07-05-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Si insertas un nuevo cliente, este si o si tiene que tener otro ID..
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #14  
Antiguo 11-05-2004
seken seken is offline
Miembro
 
Registrado: jun 2003
Posts: 83
Poder: 21
seken Va por buen camino
Question Insertar un nuevo Registro

estimados....
ya qu estan tratando el tema de insertar un nuevo registro, me gustraía saber si hay una fucioón que me agrege un reguistro igual al que estoy seleccionando en una tabla. En dicha tabla tengo un campo llamado "codigointerno" que es Autoincrementable (+). ¿existe dicha fucnión?
muchas gracias

Responder Con Cita
  #15  
Antiguo 11-05-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Puedes hacer un insert de un select:
Código SQL [-]
INSERT INTO TABLA (DESCRIPCION, IMPORTE)
SELECT DESCRIPCION, IMPORTE
WHERE ID = :IdRegAnt
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #16  
Antiguo 11-05-2004
seken seken is offline
Miembro
 
Registrado: jun 2003
Posts: 83
Poder: 21
seken Va por buen camino
Question y como hago para copiar????

gracias por la respuesta, pero me gustaria saber como puedo copiar un registro de una tabla a otra que tenga la misma estructura. Porque tengo una tabla con 85 atributos, y quiero copiar rapidamnete un regiustro. Ademas tengo otras 5 tablas que tienen que hacer lo mismo.

una duda, si armo un SQL como el que me pasas, con solo Ejecutarlo ya me inserta el registro???
saludos y disculpa por mi ignorancia de principiante
Responder Con Cita
  #17  
Antiguo 11-05-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
El INSERT te insertará los registros que retorne el SELECT, puede ser uno, ninguno o N...
Te recomiendo buscar algún manual de SQL, ya que se trata de una herramienta terriblemente útil y sencilla.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 18:41:51.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi