J'utilise Jython2.5.0, mysql-connector-java-5.0.8-bin.jar, parce que mon serveur est Mysql5.0.38 Il y a un problème dans mon application Jython.Jython zxJDBC.cursor fetchone() pour une variable de session, j'obtiens un tableau
Deux fonctions:
def act_query (requête):
connexion = conn // conn est global et a été attribué lorsqu'il est appelé
curseur = connection.cursor()
num_affected_rows = (cursor.execute requête)
cursor.close()
Connection.commit()
num_affected_rows de retour
def get_row (requête):
connexion = conn
curseur = connection.cursor()
cursor.execute (requête)
rang = cursor.fetchone()
cursor.close()
retour ligne
Puis-je faire quelque chose comme ceci:
requête = "" "SELECT cOUNT (*) de test_db.test_table1 en @max" ""
act_query (requête)
get_query = "" "select @max """
row = get_row (get_query)
imprimer ligne
La sortie est quelque chose comme: array ('b', [49, 52, 54, 50, 56, 48, 52])
J'essaie de trouver la raison et faire un test comme:
test_query = "" "select count (*) à partir test_db.test_table1" ""
rang = get_row (test_query)
imprimer ligne
la sortie est la bonne réponse
Dans fait ce script dans CPython d'abord avec MySQLdb et je le transforme en Jython avec zxJDBC
Cela a bien fonctionné dans CPython mais cela ne peut pas fonctionner maintenant.
En CPython le curseur peut être défini comme
curseur = connection.cursor (MySQLdb.cursors.DictCursor)
mais zxJDBC il semble y avoir aucun choix pour la création d'un curseur.
Est-ce la raison?
S'il vous plaît montrez-moi le chemin. Merci!
J'ai la réponse. zxJDBC obtient une variable de session pour être un tableau d'octets qui peut être converti à la bonne réponse par str() –