• Publicidad

Acerca de un error en UPDATE SQL

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Re: Acerca de un error en UPDATE SQL

Notapor piero66 » 2011-08-05 11:47 @532

Ya modifiqué la instrucción. He probado de la siguiente manera:

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
update serverboxdu.dbo.cupgral set sec="22",subsec="20",calle="DEL LIDERAZGO",numext="201",numint="",letra_ext="",letra_int="",colonia="CAJA POPULAR SAN NICOLAS" WHERE cup="2202001000000002013000"
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


¡¡¡ e igual me manda error !!!

Recuerdo que cuando probé el archivo en .pl funcionó perfecto, ¡¡actualizó todos los registros!! Mi pregunta es...

¿¿¿ Puedo enviar mis cadena a un PL ???

<form action="/cgi-bin/mi_archivo.pl" method=post>

¿¿¿ Recibir el parámetro,, ejecutar el update y después regresar la respuesta a un archivo CGI, para indicar que todo funcionó bien ???

Espero que no sea muy descabellado, pero la verdad ando viendo otras posibles soluciones, para que no salga ese error, ya que por más que le doy varias instrucciones, vota lo mismo... solo actualiza el primer registro y después... ¡¡ manda error !! :shock:
piero66
Perlero nuevo
Perlero nuevo
 
Mensajes: 95
Registrado: 2008-05-22 12:00 @541

Publicidad

Re: Acerca de un error en UPDATE SQL

Notapor explorer » 2011-08-05 12:15 @552

En la línea

$sth->execute() or die("Couldn't execute statement: " . $sth->errstr);

Perl mandará ejecutar la sentencia preparada antes y a la que hace referencia $sth. Si el motor de la base de datos no ha podido ejecutarla, execute() devuelve falso y Perl ejecuta el die(), mostrando la cadena de error que el motor de la base de datos ha devuelto.

Así que, entonces, el problema no está en Perl, sino en la instrucción, que no es ejecutada. Si vemos un Incorrect syntax near entonces es que hay algo que está mal escrito.

Yo probaría a usar un cliente para acceder a la base de datos de forma directa, y poder enviarle los comandos, modificarlos, y ver dónde estoy metiendo la pata. Viendo la documentación de update de Sybase, parece que es correcto lo que estás escribiendo.

No conozco mucho Sybase (bueno, nada), así que no sé decirte en qué está mal escrita la instrucción SQL.

Lo único que veo raro es que la línea se parte entre la palabra 'DEL' y 'LIDERAZGO', pero en otros motores de base de datos sí que se permite escribirlo así (con un carácter de fin de línea en medio de una cadena). En otros motores, hay que escaparlo.

Un programa CGI es un programa que es ejecutado por el servidor web, que recibe una serie de argumentos, bien sea en la URL (método GET) o en la entrada estándar (método POST), y que entrega sus resultados en la salida estándar, que serán recogidos por el servidor web y entregados al cliente que lo solicitó. Eso quiere decir que puedes hacer lo que quieras dentro del CGI (siempre que sea legal, claro), y solo debes preocuparte de entregar una salida correcta para que pueda ser interpretada por el navegador del usuario.

Así que lo que propones no parece descabellado...
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Anterior

Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 31 invitados