valor de la variable

Marcos Sánchez Provencio rapto en arrakis.es
Dom Mayo 19 19:16:54 CEST 2002


Sería mejor que te acostumbrases a utilizar un módulo de acceso a datos
compatible DB API. Así, el conocimiento te valdría para cualquier
módulos de acceso a datos (Oracle, PostgreSQL, ODBC...)

Para PostgreSQL yo utilizo psycopg.

Entre otras cosas, te permite no preocuparte de la conversión de las
comillas dentro de las cadenas, fechas, etc., mediante el uso de
parámetros SQL.

El dom, 19-05-2002 a las 02:14, kmilo escribió:
> Gracias, al fin lo deje asi:
> 
> --------------------------------------------------------
> import pg
> import os
> 
> codigo = int (raw_input("digite su codigo: "))
> nombre = raw_input("digite su nombre: ")
> nombre = "'"+ nombre + "'"

Más pitonesco (y marginalmente más rápido)
nombre = "'%s'" % nombre

> edad   = int (raw_input("digite su edad: "))
> ciudad = raw_input("digite su ciudad: ")
> ciudad = "'"+ ciudad + "'"
> 
> #creo la base de datos
> os.system ("createdb mydb")
> 
> #conecto a la db
> mydb = pg.DB(dbname='mydb', host='localhost', user='kmilo')
> 
> #crea la tabla estudiante
> if not( "estudiante"  in  mydb.get_tables()):
> 	mydb.query( """
> 		CREATE TABLE  estudiante (
> 			codigo	int,
> 			nombre 	varchar(80),
> 			edad	int,
> 			cidudad	varchar(80)
> 		);
> 	""")
> 
> #da valores a los campos
> mydb.query (" INSERT INTO estudiante VALUES (%d, %s, %d, %s)" %(codigo, nombre, edad, ciudad ) )
OJO No funciona si hay comillas simples en nombre o ciudad.

> 
> #cierro la coneccion a la db
> mydb.close()
> 
> ---------------------------------------------------------
> 
> 
> On Sun, 19 May 2002 01:44:46 +0200
> "Hernan Martinez Foffani" <hernan en orgmf.com.ar> wrote:
> 
> > > como hago para que las variables que se encuentran entre una 
> > > cadena, den su valor y no el nombre de la variable.
> > > 
> > > el problema es con la metodo mydb.query ya que le debo pasar una 
> > > cadena, y quiero que tome el valor de la variable codigo
> > > 
> > > codigo = input("digite su codigo: ")
> > > ..
> > > mydb.query(" INSERT INTO estudiante VALUES ('codigo') ")
> > 
> > usa el operador % de cadenas de caracteres.
> > ej:
> > 
> > mydb.query("INSERT INTO estudiante VALUES ('%s')" % cadena )
> > 
> > en este caso en particular tener en cuenta:
> > - comillas embebidas en la variable cadena
> > - tambien podrias usar parametros de sql.
> > 
> > 
> > 
> > _______________________________________________
> > Python-es mailing list
> > Python-es en aditel.org
> > http://listas.aditel.org/listinfo.py/python-es
> 
> 
> -- 
> When I don't understand my code
> I don't complain about it, 
> I code something and don't back 
> to work with perl
>  
> Kmilo
> 
> Sended by Sylpheed in SuSe 7.3 Profesional
> Linux user number 269263.
> http://kmiloweb.netfirms.com/
> 
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo.py/python-es






Más información sobre la lista de distribución Python-es