Los Foros de ASPTutor.com
Home | Perfil | Registrarse | Temas Activos | Miembros | Buscar | FAQ
Usuario:
Password:
 Todos los Foros
 ASP
 Problemas con ASP & MySQL
 Foro Bloqueado  Tema Bloqueado


Autor Temas
djraptor
Starting Member


8 Posts
Mensajes - 30 May 2006 :  18:55:41  Ver Perfil  Enviar Email
Saludos,

Tengo el siguiente codigo el cual estoy utilizando para verificar si un dato que pueda introducir un usuario desde un formulario pueda existir en un campo y que le de un mensaje de error, pero me sale un error...

Alguien me puede ayudar?


<%@LANGUAGE="VBSCRIPT"%>
<!--#include file="Connections/db_connection.asp" -->
<%
Dim rs
Set rs = Server.CreateObject("ADODB.Recordset")
rs.ActiveConnection = MM_db_connection_STRING
rs.Source = "if exists (SELECT CEDULA FROM newsletter "&_
" WHERE (CEDULA = '"&Request.Form("cedula")&"') "&_
" SELECT 'SI' as resultado "&_
" else SELECT 'NO' as resultado"
rs.CursorType = 0
rs.CursorLocation = 2
rs.LockType = 1
rs.Open()
if rs.fields.item("resultado").value = "SI" then

Response.Write("Lo sentimos, alguien ya ha registrado un e-mail con ésta cédula. Por favor contacte al Webmaster, Telf. 809.683.1717 Ext 227")

else

Dim MM_editAction
MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME"))
If (Request.QueryString <> "") Then
MM_editAction = MM_editAction & "?" & Server.HTMLEncode(Request.QueryString)
End If

' boolean to abort record edit
Dim MM_abortEdit
MM_abortEdit = false
End If
%>
<%
' IIf implementation
Function MM_IIf(condition, ifTrue, ifFalse)
If condition = "" Then
MM_IIf = ifFalse
Else
MM_IIf = ifTrue
End If
End Function
%>
<%
If (CStr(Request("MM_insert")) = "newsletter") Then
If (Not MM_abortEdit) Then
' execute the insert
Dim MM_editCmd

Set MM_editCmd = Server.CreateObject ("ADODB.Command")
MM_editCmd.ActiveConnection = MM_db_connection_STRING
MM_editCmd.CommandText = "INSERT INTO monumental_com_do.newsletter (NOMBRES, APELLIDOS, CEDULA, BDAY, EMAIL) VALUES (?, ?, ?, ?, ?)"
MM_editCmd.Prepared = true
MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param1", 201, 1, 45, Request.Form("nombres")) ' adLongVarChar
MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param2", 201, 1, 45, Request.Form("apellidos")) ' adLongVarChar
MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param3", 201, 1, 45, Request.Form("cedula")) ' adLongVarChar
MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param4", 135, 1, -1, MM_IIF(Request.Form("bday"), Request.Form("bday"), null)) ' adDBTimeStamp
MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param5", 201, 1, 45, Request.Form("email")) ' adLongVarChar
MM_editCmd.Execute
MM_editCmd.ActiveConnection.Close

' append the query string to the redirect URL
Dim MM_editRedirectUrl
MM_editRedirectUrl = "main.html"
If (Request.QueryString <> "") Then
If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0) Then
MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
Else
MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
End If
End If
Response.Redirect(MM_editRedirectUrl)
End If
End If
%>

Y el mensaje de error de IE es...

quote:

ror Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[MySQL][ODBC 3.51 Driver][mysqld-5.0.16-nt]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'if exists (SELECT CEDULA FROM newsletter WHERE (CEDULA = '') S' at line 1
/monumental/registro_newsletter.asp, line 14

POR FAVOR ALGUIEN ME AYUDE, GRACIAS

rgomez
Starting Member


8 Posts
Posted - 30 May 2006 :  20:49:20  Ver perfil  Enviar e-mail
verifique el valor de: "&Request.Form("cedula")&" lo mas probable es que no contiene nada(como igual a null) y cuando intenta hacer el select se estalla la consultaInicio Pagina
djraptor
Starting Member


8 Posts
Posted - 31 May 2006 :  15:11:06  Ver perfil  Enviar e-mail
Si, actualmente la tabla tiene datos, pero no se, ni siquiera en el Query Browser de MySQL me funciona esa consulta... poniendo una cedula actualmente existente no me despliega ni SI ni NO, alguna forma de hacerlo... intente con un COUNT y funciona, pero no se como le haria con ASP para validar eso... en caso de que sea 1 o 0...

Saludos

Inicio Pagina

   
 Foro Bloqueado  Tema Bloqueado
Ir a:
Los Foros de ASPTutor.com Los Foros de ASPTutor.com
Ir al principio de la Página

 Imprimir Tema
 

Descargas de manuales¦ Ejemplos de código ¦ Artículos mas visitados ¦ Envía tu articulo ¦ Foros ¦
  Libro de visitas ¦Crea un enlace con ASPTutor 
 

    © 2001-Hasta hoy  Pedro Rufo Martín  contactar