Conduce Chile

General => De Todo Un Poco => Mensaje iniciado por: Mithrandir en Marzo 20, 2012, 20:11:25 pm

Título: Ayuda ASP
Publicado por: Mithrandir en Marzo 20, 2012, 20:11:25 pm
Estimados tengo una pequeña duda con ASP, tengo que hacer un mantenedor ya el alta esta lista, pero en baja y cambio me arroja este error

Script error detected at line 28.
Source line: comando.execute()   
Description: Error de sintaxis (falta operador) en la expresión de consulta '('',)'.

el cual la linea 28, esta bien escrita y le doy el fin a la sentencia. no se que puede suceder o donde esta mi error, algun alma caritativa y bondadosa que nos ayude

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>pagina emisora</title>
</head>

<body>
</body>
       <script language="vbscript" runat="server">
           response.write "<form name='frmuno' action='lec16b.asp' method='post'>" &_
         "CODIGO:<input type='text' name='txtcodigo'><br />" &_
           "NOMBRE:<input type='text' name='txtcodigo'><br />"

           ycodigo=request.form("txtcodigo")       
           ynombre=request.form("txtnombre")
                 
           cadenaconeccion="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\webs\lec14\sysinventario.mdb;User ID=Admin;Password="
           set conecta=Server.CreateObject("ADODB.connection")
           conecta.connectionstring=cadenaconeccion
          conecta.open()

          sql="delete from producto where ('"& ycodigo & "'," & ynombre & ")"
          set comando=Server.CreateObject("ADODB.command")
          comando.activeconnection=conecta
           comando.commandtext=sql
           comando.execute()      
         
         response.write "<form name='frmuno' >" &_
           "NOMBRE:<input type='text' name='txtnombre' value='" & ynombre & "'><br />" &_
           "PRECIO:<input type='text' name='txtprecio' value='" & yprecio & "'><br />"         
       </script>


</html>
Título: Re:Ayuda ASP
Publicado por: Gladiador en Marzo 20, 2012, 20:27:59 pm
sql="delete from producto where ('"& ycodigo & "'," & ynombre & ")"

el ynombre no deberia ir entre ' ' simple tambien??

sql="delete from producto where ('"& ycodigo & "','" & ynombre & "')"
Título: Re:Ayuda ASP
Publicado por: Tandersan en Marzo 20, 2012, 20:28:09 pm
sql="delete from producto where ('"& ycodigo & "'," & ynombre & ")"

¿ynombre es texto? Porque te faltan las comillas simples como en ycodigo.
Así como está, ycodigo es texto e ynombre es número. ¿Debería ser al revés?
Título: Re:Ayuda ASP
Publicado por: Tandersan en Marzo 20, 2012, 20:28:36 pm
Se me adelantaron  :risa2:

FUUUUUUUUUUUUUUUUUUUUUUUUUUU :risa2:
Título: Re:Ayuda ASP
Publicado por: Gladiador en Marzo 20, 2012, 20:29:14 pm
ahh yte falta el operador
Título: Re:Ayuda ASP
Publicado por: Gladiador en Marzo 20, 2012, 20:30:30 pm
sql="delete from producto where ('"& ycodigo & "'," & ynombre & ")"

where ycodigo  = a que ?? ynombre = que ??  esta mal hecha la consulta

sql="delete from producto where (campo_tabla_codigo='"& ycodigo & "' AND campo_tabla_nombre = '" & ynombre & "')"

como lo tienes hecho el codigo no tiene idea que es lo que estas condicionando con la clausula WHERE
Título: Re:Ayuda ASP
Publicado por: Tandersan en Marzo 20, 2012, 20:32:09 pm
De hecho son jodidas a veces las consultas SQL cuando tienen tantas variables.
Yo como debug, colocada un response.write sql y luego un response.end para ver qué le enviaba "realmente" al execute de comando de ADODB.
Título: Re:Ayuda ASP
Publicado por: Mithrandir en Marzo 20, 2012, 22:20:34 pm
Ya lo solucione, muchas gracias, mañana solo termino las validaciones y arreglar las css, para entregarlo
Título: Re:Ayuda ASP
Publicado por: Comufacho en Marzo 20, 2012, 23:18:30 pm
Y cual era la solucion?

Queremos saber!!!
Título: Re:Ayuda ASP
Publicado por: Tandersan en Marzo 21, 2012, 08:41:29 am
Y cual era la solucion?

Queremos saber!!!

<negroVeloz>Hacerlo con PHP en Linux pa Galaxy poh, el resto vale callampa!</negroVeloz>  :risa2:
Título: Re:Ayuda ASP
Publicado por: Gladiador en Marzo 21, 2012, 11:19:07 am
Y cual era la solucion?

Queremos saber!!!

es un misterio  ::)
Título: Re:Ayuda ASP
Publicado por: Mithrandir en Marzo 21, 2012, 11:35:47 am
aca esta la solucion, en español separe el codigo, que al realizar el click en un boton de donde selecciones el codigo a borrar te aparece un textbox donde ingresas el codigo y se borra en otra pagina


<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>pagina emisora</title>
</head>
<body>

     <script language="vbscript" runat="server">
                           ycodigo=request.form("txtcodigo")
                           cadenaconeccion="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\webs\lec14\sysinventario.mdb;User ID=Admin;Password="
                           set conecta=Server.CreateObject("ADODB.connection")
                           conecta.connectionstring=cadenaconeccion
                          conecta.open()
                           if ycodigo="" then
                           response.write "ERROR, INGRESE EL CODIGO DEL PRODUCTO A SER ELIMINADO" &_
                           "<br /><a href='a.html'>VOLVER AL MENU</a>"
                           else
                          sql="delete from producto where codigo_pro=" & ycodigo & ""
                          set comando=Server.CreateObject("ADODB.command")
                          comando.activeconnection=conecta
                           comando.commandtext=sql
                           comando.execute()
                           response.write "EL PRODUCTO FUE ELIMINADO DE LA BASE DE DATOS" &_
                           "<br /><a href='a.html'>VOLVER AL MENU</a>"

                           end if
     </script>
   </body>
</html>
Título: Re:Ayuda ASP
Publicado por: Gladiador en Marzo 21, 2012, 11:40:20 am
bien pero veo que ahi si le pusiste el operador y/o condicion  sql="delete from producto where codigo_pro=" & ycodigo & ""   completaste el WHERE   :-\
Título: Re:Ayuda ASP
Publicado por: Mithrandir en Marzo 21, 2012, 11:55:45 am
bien pero veo que ahi si le pusiste el operador y/o condicion  sql="delete from producto where codigo_pro=" & ycodigo & ""   completaste el WHERE   :-\

correcto en el anterior queria hacerlo o por codigo o por nombre por eso no me funko
Título: Re:Ayuda ASP
Publicado por: Gladiador en Marzo 21, 2012, 12:04:58 pm
correcto en el anterior queria hacerlo o por codigo o por nombre por eso no me funko

ahh  .. clarin por que la "," intermedia no tenia sentido ,  por nombre no sirve la eliminacion ya que no necesariamente los nombres son unicos .
Título: Re: Ayuda ASP
Publicado por: negroVeloz en Marzo 21, 2012, 12:47:20 pm
Está listo para hacerle un sql inyection. Ojo con eso.
Si el código del producto es un número, transformalo a int y después vuelves a parsearlo. Aunque el mejor método es con parámetros.

Enviado desde mi Galaxy Ace usando Tapatalk.
Título: Re: Ayuda ASP
Publicado por: Mithrandir en Marzo 21, 2012, 12:49:49 pm
Está listo para hacerle un sql inyection. Ojo con eso.
Si el código del producto es un número, transformalo a int y después vuelves a parsearlo. Aunque el mejor método es con parámetros.

Enviado desde mi Galaxy Ace usando Tapatalk.

de echo el codigo son numeros ya esta declarado en la base de datos, ahora estoy viendo como hacer las validaciones de que si es numero pasa, en el codigo van letras me arrojen un mensaje que digan que tienen que ser numeros