我正在做一个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));
}
谢谢你的回答。
发布于 2018-08-18 13:30:41
编辑:我误解了您使用MySQL的目的。
好的,对于初学者来说,在互联网和StackOverflow上有大量预先存在的资源可以帮助回答这个问题。
This is from a while back but should still work.
不要在你的应用中建立到你的数据库的直接连接。相反,通过web app或使用像Azure这样的系统。有一些方法可以从应用程序中提取C#代码,坦率地说,这些方法非常常见,所以如果您的Xamarin代码中有登录凭据,请将它们想象为公共的。
https://stackoverflow.com/questions/51899652
复制相似问题