2010-03-05 5 views
0

Ok, donc im essayant d'importer une classe i fait qui se connecte à une base de données MySQL, le code de classe est indiqué ci-dessous:PSP import classe + MySQL connecter

class connection 
    def__init__(self): 
     self.cnx = MySQLdb.connect(user='xxx',host='xxx',passwd='xxx',db='xxx') 

Tous les paramètres pour la connexion MySQL sont corrects et Le fichier contenant la classe se trouve dans le même répertoire que le fichier PSP. Le fichier de classe est appelé cnx_class.py

lorsque je cours mon fichier PSP je n'ai pas défini 'cnx'. Mon code psp est ci-dessous:

<psp:file> 
import cnx_class 
</psp:file> 
<% 
cur = cnx.cursor() 
cur.execute('select * from protein;') 
rows = cur.fetchall() 
for row in rows: 
    req.write`(row)` 
#end 
%> 

toute aide?

Répondre

0

Vous êtes horriblement, horriblement confus quant à la façon dont les modules et les classes fonctionnent. S'il vous plaît lire et travailler au moins le modules section et le classes section du tutoriel Python.

0

Essayez de remplacer

cur = cnx.cursor() 

avec

con=cnx_class.connection() 
cur=con.cnx.cursor() 

Vous pouvez également remplacer

rows = cur.fetchall() 
for row in rows: 

avec

for row in cur.fetchall(): 

puisque les curseurs sont des itérateurs.