我正在做一个Xamarin应用程序,我想使用Python连接器将它连接到MySQL数据库,并且我不确定如何在C#Xamarin代码和Python连接器之间交换信息。例如,我想将用户在Xamarin应用程序中输入的登录信息发送到数据库。
Python代码:
import mysql.connector
import requests
from datetime import date, datetime,timedelta
cnx = mysql.connector.connect(user='root',password='root',
database='user_account', host='localhost', port='3310')
cursor = cnx.cursor()
params = {'key1' : 'value1', 'key2' : 'value2', 'key3' : 'value3'}
r = self.request.GET.get('email')
print(r)
add_user = ("INSERT INTO login_info " "(email, password, date) " "VALUES (%s,%s,%s)")
user_data = (params[0], params[1], params[2])
cursor.execute(add_user, user_data)
cnx.commit()
cursor.close()
cnx.close()
C#代码:
public static void AddUserToDatabase()
{
WebClient client = new WebClient();
Uri uri = new Uri("http://localhost/login.py");
NameValueCollection postData = new NameValueCollection();
postData.Add("email", "testEmail@email.com");
postData.Add("password", "superTestPassword");
postData.Add("date", DateTime.Now.ToShortDateString());
Encoding.UTF8.GetString(client.UploadValues(uri, postData));
}
感谢您的回答。
答案 0 :(得分:1)
编辑:我误解了您使用MySQL的目的。
好吧,对于初学者来说,Internet和StackOverflow上有大量预先存在的资源可以帮助回答这个问题。
This is from a while back but should still work.
请勿在应用中建立与数据库的直接连接。 相反,请通过Web API或使用Azure等系统。有多种方法可以从应用程序中提取C#代码,并且坦白地说,它们非常普遍,因此,如果您在Xamarin代码中具有登录凭据,则可以想象它们是公共的。