[Python-es] valor de la variable

rapto rapto en arrakis.es
Lun Mayo 20 10:05:40 CEST 2002


Mira (en inglés)
http://python.org/topics/database/DatabaseAPI-2.0.html

Hay un estándar de acceso a datos desde Python llamado DB API (está en 
la versión 2). Si se utiliza uno cualquiera de estos módulos, las 
llamadas necesarias para conectarse a la BD, ejecutar consultas y 
recuperar resultados es siempre la misma, de tal modo que vale con 
aprender una para dominarlas todas. Usando uno de estos módulos, la 
dificultad para pasar de usar PostgreSQL a usar ODBC en Windows estaría 
minimizada, ya que, ene teoría, valdría con cambiar el instante en que 
se conecta uno a la base de datos.

He aquí un ejemplo de uso (http://www.amk.ca/python/writing/DB-API.html)
>>>cursor = db.cursor();
>>> # List all the seminars
>>> cursor.execute('select * from Seminars')
>>> cursor.fetchall()
[(4, 'Web Commerce', 300.0, 26),
 (1, 'Python Programming', 200.0, 15), 
 (3, 'Socket Programming', 475.0, 7), 
 (2, 'Intro to Linux', 100.0, 32), 
 ]

Este código funcionaría con cualquier módulo de acceso a datos 
compatible DB API.

Sigue preguntando, ya verás la factura ;-)

----- Mensaje Original -----
Remitente: kmilo <kmilo en softhome.net>
Fecha: Domingo, Mayo 19, 2002 9:20 pm
Asunto: Re: [Python-es] valor de la variable

> gracias por la ayuda marcos, pero la verdad no entendi nada, me lo 
> puedes explicar de forma que alguien como yo lo entienda?
> 
> 
> que es un módulo de acceso a datos?
> 
> On 19 May 2002 19:16:54 +0200
> Marcos Sánchez Provencio <rapto en arrakis.es> wrote:
> 
> > 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
> > 
> > 
> > _______________________________________________
> > 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