[pyar] Ayuda con Update.

Roberto Matarrita rmatarria en gmail.com
Jue Ene 18 14:07:16 ART 2018


Excelente tu comentario German, gracias por tu comentario, cada día aprendo
cosas nuevas.

Roberto



El 18 de enero de 2018, 7:45, German Jimenez <germanjimenez84 en gmail.com>
escribió:

> 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_4338060959715120302_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
>>
>
> _______________________________________________
> 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/f1537336/attachment.html>


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