Ver Mensaje Individual
  #12 (permalink)  
Antiguo 08/07/2015, 19:40
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 1 mes
Puntos: 2658
Respuesta: Mostrar error 1062 de sql (registro duplicado)

El error 1062 significa simple y sencillamente que estás intentando un INSERT donde los valores asignados a la PK ya existen en la base.
Metodológicamente, lo más simple es que ANTES de ejecutar el insert hagas un SELECT COUNT(*) donde busques solo el valor de la PK en esa tabla . Si la consulta devuelve un valor diferente de cero (0) no insertas, caso contrario ejecutas el INSERT.
De todos modos sin ver la estructura de la tabla en la base (el CREATE TABLE) sólo podemos suponer lo que está pasando.

Por lo demás, trata de armas códigos más ordenados, con una clara separación de las funcionalidades, en especial de los formularios. Ayuda a la trazabilidad de los errores.

Finalmente, te recomendaría que dejes de usar ese ab...to de la naturaleza que es esa función "GetSQLValueString", que todo el mundo copia, porque sólo sirve para no aprender a controlar los valores de las variables, y casi siempre la usan tan mal que terminan viniendo a pedir auxilio a este foro.
En las pocas ocasiones en que he usado una función de ese tipo la he creado yo mismo, ya que no confío en esos codigos que todo el mundo replica como si fuesen buenos.

DE todos modos esto último es tu decisión, no la mía.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)