From: | Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl> |
---|---|
To: | Francisco Navarro <tonatiuh_az(at)yahoo(dot)com> |
Cc: | pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx |
Subject: | Re: [Pgsql-ayuda] Python - Postgresql |
Date: | 2003-07-06 22:02:56 |
Message-ID: | 20030706220256.GB28540@dcc.uchile.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On Sun, Jul 06, 2003 at 04:20:48PM -0500, Francisco Navarro wrote:
> Hola!, espero me puedan ayudar con este mensaje de
> error
>
> Traceback (most recent call last):
> File "/home/fnavarro/altas2.py", line 27, in ?
> resultado = conecta.query(inserta)
> _pg.error: ERROR: parser: parse error at or near "3"
>
> lo envia en la ejecucion de la linea inserta =
> 'insert into actaservicio
> values('+factura+',\''+clase+',\''+nombre+',\''+telefono+',\''+matricula+',\''+sindefecto+',\''+calidadtrab+',\''+precio+',\''+plazo+',\''+otrosel+',\''+opinion+',\''+rellamada+',\''+retrabajo+',\''+folio+'\')'
En esa ensalada de comillas es dificil no equivocarse. Fijate que el
string tiene que tener una comilla escapada antes y despues de cada
literal... te recomiendo que uses comillas dobles para el string y
dejes las simples para los literales. Ejemplo,
valoruno = "el valor de uno";
valordos = "el valor de dos";
var = "insert into foo (uno, dos) values ('"+valoruno+"', '"+valordos+"');"
print var;
Mucho mas legible, aunque sigue siendo feo. Lo ideal sería usar una
especie de consulta preparada con "placeholders", y que el controlador
automáticamente pusiera comillas donde corresponda... algo como
pgquery = pgconn.prepare("insert into foo (uno, dos) values (?, ?)")
pgquery.exec("valor de uno", "valor de dos");
Pero no sé si se puede hacer en Python.
--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"La gente vulgar solo piensa en pasar el tiempo;
el que tiene talento, en aprovecharlo"
From | Date | Subject | |
---|---|---|---|
Next Message | Diego Alvarez | 2003-07-06 22:26:33 | [Pgsql-ayuda] Postgresql en windows - NO MYSQL |
Previous Message | Francisco Navarro | 2003-07-06 21:20:48 | [Pgsql-ayuda] Python - Postgresql |