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

Ayuda con un formulario y db?

Estas en el tema de Ayuda con un formulario y db? en el foro de ASP Clásico en Foros del Web. Hola amigos necesito una ayudita, hice una cosilla que agrega nombres desde un formulario pero no quiero que se repitan los mismos nombres y puse ...
  #1 (permalink)  
Antiguo 24/11/2003, 22:59
Avatar de clak  
Fecha de Ingreso: noviembre-2001
Ubicación: Zacatecas, Zac.
Mensajes: 747
Antigüedad: 23 años, 5 meses
Puntos: 0
Pregunta Ayuda con un formulario y db?

Hola amigos necesito una ayudita, hice una cosilla que agrega nombres desde un formulario pero no quiero que se repitan los mismos nombres y puse de llave principal el campo de nombres, bueno ahora cuando ingreso un nombre repetido me sale un error algo asi:

Código:
Microsoft JET Database Engine error '80040e21' 

The changes you requested to the table were not successful
 because they would create duplicate values in the index, 
primary key, or relationship. Change the data in the field 
or fields that contain duplicate data, remove the index, or
 redefine the index to permit duplicate entries and try again. 

/cyber/add.asp, line 26
Osea eso me dice que ta existe el nombre, pero ahora como le puedo hacer para que me salga en vez de eso algo que diga, LO SIENTO ESE NOMBRE YA SE ENCUENTRA EN LA DB?? porfas si alguien sabe ayudeme, saludos...

Última edición por clak; 25/11/2003 a las 00:23
  #2 (permalink)  
Antiguo 24/11/2003, 23:21
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
A ver si con un error handler...

Pon antes de esa linea 26 lo siguiente

On error resume next
'Aqui tu código de incersión a la DB
If err.number <> 0 Then
Response.write("Lo sentimos, el nombre que elegiste ya se encuentra registrado en nuestro sistema")
Response.End
End If

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 24/11/2003, 23:52
Avatar de clak  
Fecha de Ingreso: noviembre-2001
Ubicación: Zacatecas, Zac.
Mensajes: 747
Antigüedad: 23 años, 5 meses
Puntos: 0
gracias men lo probare a ver si funciona, saludos...
  #4 (permalink)  
Antiguo 25/11/2003, 00:07
Avatar de clak  
Fecha de Ingreso: noviembre-2001
Ubicación: Zacatecas, Zac.
Mensajes: 747
Antigüedad: 23 años, 5 meses
Puntos: 0
Creo que no funciono men, checa este es el código:

Código:
<%
Response.Buffer = true
dim cnn,rst
' Creamos la conexión a la base de datos sin DSN
set cnn = Server.CreateObject("ADODB.Connection")
set rst = Server.CreateObject("ADODB.RecordSet")
cnn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
Server.MapPath("dbx.mdb"))
sqltext = "SELECT * FROM mails"
rst.Open sqltext,cnn,3,3

'Recogemos los datos y validamos que no haya ningun campo vacio
dim usermail
usermail = Request.Form("usermail")

if usermail ="" or usermail ="" then
error = "<center><font face=verdana size=2><b>Debe completar todos los datos correctamente.</b></font></center>"
Response.Write error
Response.End
end if

'Si está todo correcto, procedemos a ingresar los datos a la base de datos

rst.AddNew
rst("mail") = usermail
rst.update
On error resume next

'Terminamos e imprimimos un mensaje
Response.Write "<br><br><br><font face=verdana size=3><b>¡Gracias por tu Registro!</b></font><br><br>"

%>
Si me puedes orientar para que jale? o alguien sabe como de otra forma? saludos...
  #5 (permalink)  
Antiguo 25/11/2003, 11:05
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Trata así:

Response.Buffer = true
dim cnn,rst
' Creamos la conexión a la base de datos sin DSN
set cnn = Server.CreateObject("ADODB.Connection")
cnn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
Server.MapPath("dbx.mdb"))


'Recogemos los datos y validamos que no haya ningun campo vacio
dim usermail
usermail = Request.Form("usermail")

if usermail ="" or usermail ="" then
error = "<center><font face=verdana size=2><b>Debe completar todos los datos correctamente.</b></font></center>"
Response.Write error
Response.End
end if

'Si está todo correcto, procedemos a ingresar los datos a la base de datos

Set rs= Server.CreateObejct("ADODB.Recordset")
strSQL= "SELECT * FROM mails WHERE mail='" & usermail & "'"
rs.Open strSQL, cnn, 3, 3

If rs.EOF Then
rs.Close
Cnn.Execute("INSERT INTO mails(mail) VALUES('"&usermail&"')")
Else
rs.Close
'Mensaje
End If
Set rs= Nothing
'Terminamos e imprimimos un mensaje
Response.Write "<br><br><br><font face=verdana size=3><b>¡Gracias por tu Registro!</b></font><br><br>"
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
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 13:55.