0

Android 用のアプリを作成しています。Mysql データベースと対話する必要があります。Android からのアクセスの構成に問題がありますが、Linux のインストールには問題がありません。

Android APK に SQLAlchemy のレシピを正常にインポートしましたが、logcat を使用してアプリを実行すると、次のエラーが表示されます。

NO module named MySQLdb

そこで、buildozer に MySQLdb のレシピも追加しようとしましたが、次のように書かれています。

No matching distribution found for MySQLdb

これは、mysql 部分を呼び出すコードの一部です。

import sqlalchemy
from sqlalchemy import create_engine
from sqlalchemy import MetaData, Column, Table, ForeignKey
from sqlalchemy import Integer, String
from sqlalchemy.sql import select

def check_sql_list(_id, string):
    cur = engine.connect()
    res = cur.execute("SELECT * FROM tbl_user")
    for x in res.fetchall():
        if x[_id] == string: return True
    cur.close()

def create_user(name,e_mail,psw):
    if check_sql_list(1,name):
        print 'Select another username.'
    elif check_sql_list(2,e_mail):
        print 'Your E-Mail have already an account.'
    else:
        connection = engine.raw_connection()
        try:
            cursor = connection.cursor()
            cursor.callproc("sp_createUser",[name, e_mail, psw])
            results = list(cursor.fetchall())
            for a in cursor.fetchall():
                print a
            print results
            cursor.close
            connection.commit()
        finally:
            connection.close()
            print 'Account registered succesfully.'

ip = 'localhost'
databs = 'mydb'
user = 'guest'
psw = 'password'
porta = '3306'

engine = create_engine('mysql://' + user + ':' + psw + '@' + ip + ':' + porta + '/' + databs)
create_user('user001','mail@001.com','password')

MySQLdb レシピを必要とせずにデータベースに接続するにはどうすればよいですか? または、どこでそのレシピを見つけることができますか?

4

2 に答える 2

0

kivy -m pip install mysql-connector

よりも:

mysql.connector をインポートする

私のために働いています:)

于 2016-08-31T16:11:37.693 に答える
0

誰かが役に立つと思って自分の質問に答えます。

私はそれを解決する方法を見つけ、次のようなダイヤラーmysql + mysqlconnectorとして使用します:

engine = create_engine('mysql+mysqlconnector://user00:psw@localhost:3306/database')

buildozer.spec にレシピ要件を追加します。

requirements = kivy,sqlalchemy,mysql_connector
于 2016-08-07T11:17:49.543 に答える