Foros del Web » Programando para Internet » ASP Clásico »

controlar registro duplicado

Estas en el tema de controlar registro duplicado en el foro de ASP Clásico en Foros del Web. Hola! tengo una duda. Quiero controlar que no me metan ningún registro que tenga el campo prncipal duplicado. Ahora les sale la pantalla blaca esa ...
  #1 (permalink)  
Antiguo 26/05/2005, 03:22
 
Fecha de Ingreso: marzo-2005
Ubicación: Vitoria
Mensajes: 49
Antigüedad: 19 años, 2 meses
Puntos: 0
controlar registro duplicado

Hola! tengo una duda. Quiero controlar que no me metan ningún registro que tenga el campo prncipal duplicado. Ahora les sale la pantalla blaca esa diciendo que hay un registro principal duplicado y no se qué. La cosa es que quiero que les escriba un mensaje. En el foro he visto algo como:

set rs=conexion.execute(sql)
On Error Resume next
If Err.number<>0 then
response.write "error inesperado"
end if

Mi pregunta son dos:
que número de error es el de registro duplicado?
le meto un registro con un addnew tal que así
SQL="SELECT * FROM articulos"
rs.Open SQL, oConn,1,3
rs.addnew
rs("referencia")=request("referencia")
rs("descripcion")=request("descripcion")
rs("dingles")=request("descing")
rs("checkinglist")=request("checkinglist")
rs("fichingles")=request("fiching")
rs("fichespl")=request("fichesp")
rs("plano")=request("plano")
rs("fotcat")=request("fotcat")
rs("linstr")=request("libinstr")
rs("fabricante")=request("fabricante")
rs("exportador")=request("exportador")
rs("activo")=1
rs.update
rs.close
oConn.close

Con el addnew como se haría este control?

Con que me digais el número de error me vale, me hago una insert y fuera. Lo hice con el addnew por que me pareció mas fácil pero ya he aprendido con las dos .

Bueno fieras un saludo!
__________________
En la oficina todo son mujers menos yo y me estan dando por el culo... algo falla :golpeado:
  #2 (permalink)  
Antiguo 26/05/2005, 03:57
 
Fecha de Ingreso: abril-2002
Mensajes: 1.014
Antigüedad: 22 años, 2 meses
Puntos: 8
Si el campo es texto (si no, quitar las comillas simples):
rs.open "select * from Table where campo = '" & request.form("txt") & "'"

if not rs.eof then
response.write("el registro ya existe")
else
'Insertar
end if
  #3 (permalink)  
Antiguo 26/05/2005, 04:16
 
Fecha de Ingreso: marzo-2005
Ubicación: Vitoria
Mensajes: 49
Antigüedad: 19 años, 2 meses
Puntos: 0
Gracias!

Gracias! funciona!. Peero me he quedado con las ganas de saber que número de error es.
__________________
En la oficina todo son mujers menos yo y me estan dando por el culo... algo falla :golpeado:
  #4 (permalink)  
Antiguo 26/05/2005, 05:11
 
Fecha de Ingreso: abril-2002
Mensajes: 1.014
Antigüedad: 22 años, 2 meses
Puntos: 8
Creo que te funcione lo siguiente: usa ON ERROR para recoger el error, y en la etiqueta:

msgbox err.number & " - " & err.description
  #5 (permalink)  
Antiguo 26/05/2005, 07:20
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
JEJEJE mi post nº 1000 para Paharillo, así todo se queda en casa!!!!


http://asp.com-e.net/codigo/errores.asp

mañana a celebrarlo!!!!!
  #6 (permalink)  
Antiguo 26/05/2005, 07:52
 
Fecha de Ingreso: marzo-2005
Ubicación: Vitoria
Mensajes: 49
Antigüedad: 19 años, 2 meses
Puntos: 0
Felicidades trasgukabi!
Sigue así que pronto llegarás a los 2000, tómate una birra a mi salud!
<homer simpson> cervezaaa agggaggg... </homer simpson>
hasta luego
__________________
En la oficina todo son mujers menos yo y me estan dando por el culo... algo falla :golpeado:
  #7 (permalink)  
Antiguo 26/05/2005, 10:23
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 2 meses
Puntos: 2
Hola!

El error de elementos duplicados lo solucionas mas que nada desde el diseño de tu base de datos, debes declarar un index unique sobre el campo que no deseas que sea duplicado nunca.

Entonces en tu insercion, simplemente esto:

on error resume next

'CODIGO.
'CODIGO.
'CODIGO.

rs("referencia")=request("referencia")

if Err.Number > 0 then
//Hubo X error
end if

Es decir, asi el trabajo de integridad y seguridad de bases de datos lo dejas en la base de datos, donde realmente debe hacerse la mayoría de las veces.

Suerte...

Y felicidades Tragus por tus 1000 mensajes
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #8 (permalink)  
Antiguo 26/05/2005, 11:54
 
Fecha de Ingreso: abril-2002
Mensajes: 1.014
Antigüedad: 22 años, 2 meses
Puntos: 8
Felicidadezzzz
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:10.