Foros del Web » Programando para Internet » Python »

Python + QT +mySQL (QtSql)

Estas en el tema de Python + QT +mySQL (QtSql) en el foro de Python en Foros del Web. Hola de Nuevo: Esto de ser novato es un rollo ¿Alguna alma caritativa me puede decir porqué este código me dice que no se puede ...
  #1 (permalink)  
Antiguo 02/06/2012, 18:13
Avatar de ArcNexus  
Fecha de Ingreso: abril-2012
Ubicación: Donde uno se da cuenta de que no sabe nada
Mensajes: 69
Antigüedad: 12 años, 7 meses
Puntos: 4
Python + QT +mySQL (QtSql)

Hola de Nuevo:

Esto de ser novato es un rollo

¿Alguna alma caritativa me puede decir porqué este código me dice que no se puede conectar la base de datos (Existe y la puedo abrir y usar sin problemas desde la terminal y desde mySql-workbench.)

Código Python:
Ver original
  1. import sys
  2. from principal import *
  3. from PyQt4 import QtSql, QtGui
  4.  
  5. def createConnection():
  6.     #db = QtSql.QSqlDatabase.AddDatabase('QMYSQL') - he probado de ambas formas
  7.     db = QSqlDatabase.addDatabase("QMYSQL")
  8.     if db:
  9.         db.setHostName("localhost")
  10.         db.setDatabaseName("emp0999")
  11.         db.setUserName("root")
  12.         db.setPassword("xxxxxxxxxxxx")
  13.         if not db.open():
  14.             print ("Could not open testdb database")
  15.             print (db.lastError().driverText())
  16.             print (db.lastError().databaseText())
  17.         else:
  18.             print "Database is OK"
  19.            
  20.     return True


Gracias una vez más
__________________
Cuando compartimos, todos ganamos y crecemos.
mi blog:http://milinuxblog.informatica-intelligent.com
(Linux, Java y software libre)
  #2 (permalink)  
Antiguo 02/06/2012, 18:26
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 8 meses
Puntos: 1329
Respuesta: Python + QT +mySQL (QtSql)

¿Qué error te marca?
__________________
Grupo Telegram Docker en Español
  #3 (permalink)  
Antiguo 02/06/2012, 21:44
Avatar de ArcNexus  
Fecha de Ingreso: abril-2012
Ubicación: Donde uno se da cuenta de que no sabe nada
Mensajes: 69
Antigüedad: 12 años, 7 meses
Puntos: 4
Respuesta: Python + QT +mySQL (QtSql)

Cita:
Iniciado por Carlangueitor Ver Mensaje
¿Qué error te marca?
Código:
QSqlQuery::exec: database not open
__________________
Cuando compartimos, todos ganamos y crecemos.
mi blog:http://milinuxblog.informatica-intelligent.com
(Linux, Java y software libre)
  #4 (permalink)  
Antiguo 03/06/2012, 04:09
Avatar de NJS
NJS
 
Fecha de Ingreso: noviembre-2011
Mensajes: 371
Antigüedad: 13 años
Puntos: 28
Respuesta: Python + QT +mySQL (QtSql)

Y porque no pruebas con mysqldb ?
yo siempre isntalo python-mysql para las conexiones a mysql.
pasate por aqui :
http://sourceforge.net/projects/mysql-python/files/
__________________
Mejores empresas de Hosting
-=-=-=-=-=-=-=-
Empresas de Hosting
  #5 (permalink)  
Antiguo 03/06/2012, 04:24
Avatar de ArcNexus  
Fecha de Ingreso: abril-2012
Ubicación: Donde uno se da cuenta de que no sabe nada
Mensajes: 69
Antigüedad: 12 años, 7 meses
Puntos: 4
Respuesta: Python + QT +mySQL (QtSql)

Cita:
Iniciado por NJS Ver Mensaje
Y porque no pruebas con mysqldb ?
yo siempre isntalo python-mysql para las conexiones a mysql.
pasate por aqui :
http://sourceforge.net/projects/mysql-python/files/
Sí, supongo que es una posible solución, pero como aun no conozco muy bien phyton me guío por un libro que compré sobre programación QT en python y hacen la conexión a la base de datos con QtSql. Éste permite acceder a los campos directamente por su nombre:

Código Python:
Ver original
  1. varNombreCampo = self.record.value('nombrecampo')

y por lo que he visto con mysqldb no se puede acceder por el nombre del campo (seguramente estoy equivocado), por eso me gustaba más la idea de QtSql
__________________
Cuando compartimos, todos ganamos y crecemos.
mi blog:http://milinuxblog.informatica-intelligent.com
(Linux, Java y software libre)
  #6 (permalink)  
Antiguo 03/06/2012, 09:21
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Python + QT +mySQL (QtSql)

Por otro lado yo te recomendaría usar algo mas potente. Como un ORM para separar mas la lógica de negocios que la interfaz gráfica. (MVC)

ORM para python
  #7 (permalink)  
Antiguo 03/06/2012, 09:42
Avatar de ArcNexus  
Fecha de Ingreso: abril-2012
Ubicación: Donde uno se da cuenta de que no sabe nada
Mensajes: 69
Antigüedad: 12 años, 7 meses
Puntos: 4
Respuesta: Python + QT +mySQL (QtSql)

Cita:
Iniciado por razpeitia Ver Mensaje
Por otro lado yo te recomendaría usar algo mas potente. Como un ORM para separar mas la lógica de negocios que la interfaz gráfica. (MVC)

ORM para python
Interesante, gracias
__________________
Cuando compartimos, todos ganamos y crecemos.
mi blog:http://milinuxblog.informatica-intelligent.com
(Linux, Java y software libre)
  #8 (permalink)  
Antiguo 04/06/2012, 07:35
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Python + QT +mySQL (QtSql)

Contestando a la pregunta, más allá de consejos puntuales.

De acuerdo a la documentación [1] (de PySide, no PyQt, pero es casi lo mismo), debería estar correcto. Sin embargo, leí por ahí [2] que tenés que haber creado antes un objeto QApplication o QCoreApplication para que esto funcione.


[1] http://www.pyside.org/docs/pyside/Py...lDatabase.open

[2] http://www.mail-archive.com/pyqt@riv.../msg12933.html

Etiquetas: mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:42.