[pyar] Ayuda con Update.

German Jimenez germanjimenez84 en gmail.com
Jue Ene 18 10:45:15 ART 2018


Hola Roberto, si bien Carlos te ha mostrado una forma de hacer la consulta,
debes tener cuidado ya que es MUY vulnerable a inyección de sql (ej: en un
formulario ingresar algo como ""drop database;) es mejor dejar siempre qie
la libreria sea quien formatee y escape las variables pasando las variables
como args a execute.
El 17/01/2018 23:24, "Roberto Matarrita" <rmatarria en gmail.com> escribió:

> Gracias Carlos por el aporte. El problema era la una variable que no se
> estaba cargando bien. Faltaba el .text() y por lo tanto el valor nunca
> llegaba al where. De todas formas gracias por tu aporte, ya aprendí otra
> forma de hacer un update.
>
> Roberto
>
> El 17/1/2018 5:55 p. m., "Francisco Couzo" <franciscouzo en gmail.com>
> escribió:
>
>> Miguel,
>>
>> Por favor no des ese consejo, ya que es vulnerable a inyecciones SQL.
>>
>> 2018-01-17 20:21 GMT-03:00 Carlos Miguel FARIAS <
>> carlosmiguelfarias en gmail.com>:
>>
>>> En la string, al reemplazar por los valores de las variables, si las
>>> variables son alfanuméricas, la cadena del comando debería "envolverlas"
>>> con apostrofes, al menos, así lo entiendo yo.
>>>
>>> cursor.execute("UPDATE sig_personerias SET cdes_personeria = '%s'
>>> ccod_activo_nulo = '%s'  WHERE ccod_compania = '%s' and ccod_personeria =
>>> '%s'", (nombres,activo,cia,llave))
>>> En mi caso lo resuelvo con:
>>> try:
>>>     cSQL = "UPDATE sig_personerias SET cdes_personeria = '{}',
>>> ccod_activo_nulo = '{}' WHERE ccod_compania = '{}' and ccod_personeria =
>>> '{}'".format(nombres, activo, cia, llave)
>>>     cursor.execute(cSQL)
>>> except Exception as e:
>>>     print("Falló:{}\nError:{}".format(cSQL, e)
>>>
>>> Los apóstrofos no son necesarios si el dato que actualiza es numérico.
>>> Saludos: Miguel, Santa Rosa (LP)
>>>
>>>
>>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail> Libre
>>> de virus. www.avast.com
>>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
>>> <#m_-3487084222315850505_m_1018522814387696429_m_5774434925513420567_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
>>>
>>> El 17 de enero de 2018, 14:39, Roberto Matarrita <rmatarria en gmail.com>
>>> escribió:
>>>
>>>> No Andrés tampoco me funciona así, ya le puse las comas y tampoco. El
>>>> ejemplo que me envías de la estructura de SQL, desafortunadamente Python no
>>>> trabaja de esa forma, como en la mayoría de los SQL.
>>>>
>>>> Así que no se que es el problema que tengo.
>>>>
>>>> Necesito saber como puedo hacer para imprimir el resultado de lo que
>>>> lleva el SQL, esa tira del string para ver si es que los datos van malos.
>>>> No se como hacerlo en Python. Si me pueden ayudar excelente.
>>>>
>>>> Roberto
>>>>
>>>> El 17 de enero de 2018, 4:15, Andrés Ramírez <
>>>> andres.ramirez.miori en gmail.com> escribió:
>>>>
>>>>> Creo que falta una coma para separar los campos que actualizas
>>>>>
>>>>> cursor.execute("UPDATE sig_personerias SET cdes_personeria = %s
>>>>> ccod_activo_nulo = %s  WHERE ccod_compania = %s and ccod_personeria = %s",
>>>>> (nombres,activo,cia,llave))
>>>>>
>>>>> UPDATE *table_name*
>>>>> SET *column1 *=* value1*,*column2 *=* value2*, ...
>>>>> WHERE *condition*;
>>>>>
>>>>> Extraído de
>>>>> https://www.w3schools.com/sql/sql_update.asp
>>>>>
>>>>>
>>>>> El 17 ene. 2018 2:57 AM, "Roberto Matarrita" <rmatarria en gmail.com>
>>>>> escribió:
>>>>>
>>>>>> Tengo el siguiente update
>>>>>>
>>>>>> cursor.execute("UPDATE sig_personerias SET cdes_personeria = %s
>>>>>> WHERE ccod_compania = %s and ccod_personeria = %s", (nombres,cia,llave))
>>>>>>
>>>>>> Me funciona correctamente, hace la actualizacion de la descripción
>>>>>> del registro.
>>>>>> Pero cuando quiero actualizar más de una fila, es donde tengo el
>>>>>> problema.
>>>>>>
>>>>>> cursor.execute("UPDATE sig_personerias SET cdes_personeria = %s
>>>>>> ccod_activo_nulo = %s  WHERE ccod_compania = %s and ccod_personeria = %s",
>>>>>> (nombres,activo,cia,llave))
>>>>>>
>>>>>> Necesito otra ayuda, saber como actualizar múltiples campos de la
>>>>>> tabla.
>>>>>> Mucho agradecería la ayuda.
>>>>>>
>>>>>> Roberto.
>>>>>>
>>>>>> _______________________________________________
>>>>>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>>>>>> Sitio web: http://www.python.org.ar/
>>>>>>
>>>>>> Para administrar la lista (o desuscribirse) entrar a
>>>>>> http://listas.python.org.ar/listinfo/pyar
>>>>>>
>>>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre
>>>>>> de Argentina - http://www.usla.org.ar
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>>>>> Sitio web: http://www.python.org.ar/
>>>>>
>>>>> Para administrar la lista (o desuscribirse) entrar a
>>>>> http://listas.python.org.ar/listinfo/pyar
>>>>>
>>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>>>> Argentina - http://www.usla.org.ar
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>>>> Sitio web: http://www.python.org.ar/
>>>>
>>>> Para administrar la lista (o desuscribirse) entrar a
>>>> http://listas.python.org.ar/listinfo/pyar
>>>>
>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>>> Argentina - http://www.usla.org.ar
>>>>
>>>
>>>
>>> _______________________________________________
>>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>>> Sitio web: http://www.python.org.ar/
>>>
>>> Para administrar la lista (o desuscribirse) entrar a
>>> http://listas.python.org.ar/listinfo/pyar
>>>
>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>> Argentina - http://www.usla.org.ar
>>>
>>
>>
>> _______________________________________________
>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>> Sitio web: http://www.python.org.ar/
>>
>> Para administrar la lista (o desuscribirse) entrar a
>> http://listas.python.org.ar/listinfo/pyar
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>>
>
> _______________________________________________
> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
> Sitio web: http://www.python.org.ar/
>
> Para administrar la lista (o desuscribirse) entrar a
> http://listas.python.org.ar/listinfo/pyar
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20180118/3d6dab7d/attachment.html>


Más información sobre la lista de distribución pyar