[Python-es] Programa de facturación - Utilidades DB

Toni Martínez python en ammsoft.com
Mie Jul 28 16:21:45 CEST 2004


utilidades con bases dedatos
[pdo]       [PDO-1.3.0.zip]               [25-07-2004]
http://pdo.neurokode.com/
Permite establecer una capa a alto nivel para gestionar las bases de datos.
Ejemplo:
#!/usr/local/bin/python2.2
import pdo

db=pdo.connect("Module=MySQLdb;User=username;Passwd=password;DB=test_databas
e")
#en el parametro Module se especifica el tipo de base de datos a utilizar
if db.active:
    strSelect="SELECT * FROM Folders"
    rs=db.openRS(strSelect)
    while rs.next():
        print rs.fields['Name'].value
#en resumen, genial.
#sólo hay que tener en cuenta el tipo de estilo del parametro "paramstyle"
para saber como pasar parámetros
'qmark'   Question mark style, e.g. '...WHERE name=?'
'numeric'   Numeric, positional style, e.g. '...WHERE name=:1'
'named' Named style, e.g. '...WHERE name=:name'
'format' ANSI C printf format codes, e.g. '...WHERE name=%s'
'pyformat' Python extended format codes, e.g. '...WHERE name=%(name)s'

El objetivo es no tener que modificar el programa en función de la base de
datos utilizada

[pydbx]     [pydbx-0.13.tar.gz]                 [?]
http://david.acz.org/pydbx
Lo mismo que PDO (sólo lo he mirado por encima.)
This is an example using DB-API:

    import MySQLdb
    conn = MySQLdb.connect(db="test", host="localhost",
                         user="user", passwd="pass")
    cursor = conn.cursor(MySQLdb.cursors.DictCursor)
    cursor.execute("SELECT name, phone FROM User")
    rows = cursor.fetchall()
    for i in rows:
        print i["name"], i["phone"]
    cursor.close()
    conn.close()

This is an example using dbx:

    import dbx.mysql as dbx
    db = dbx.MySQL("test", "localhost", "user", "pass")
    rows = db.listQuery("SELECT name, phone FROM User")
    for i in rows:
        print i["name"], i["phone"]
    db.close()

[ll-sql]    [ll-sql-0.6.win32.exe]              [31-07-2003]
http://www.livinglogic.de/Python/sql
Es un generador de comandos Sql que simplifica los Update, insert y delete
(No lo he provado)

[pydbdesig] [pydbdesigner-0.1.4.1.tar.gz]       [14-04-2004]
http://pydbdesigner.sourceforge.net
Permite diseñar la estructura de la base de datos y generar los scripts que
generen las tablas.
(puede que me solucione más de un problema.)


Lo de la internacionalización del programna se basa en tener unos
directorios con ficheros .po uno para cada lengua que necesites.
La aplicación lo que hace al tener que mostrar un literal es buscarlo en
esos ficheros dependiendo del idioma seleccionado.

Un buen ejemplo puedes encontralo en
http://wiki.wxpython.org/index.cgi/RecipesI18n

Un saludo
Toni Martínez




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