[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