我在使用Xamarin,Android连接数据库时遇到问题。这就是我的尝试:
try
{
MySqlConnection con = new MySqlConnection("Server=databases.000webhost.com;port=3306;database=id1817024_csftw;User Id=id1817024_csftw;Password=...;charset=utf8");
if (con.State == ConnectionState.Closed)
{
con.Open();
txtSysLog.Text = "Successfully Connected";
}
}
catch(MySqlException ex)
{
txtSysLog.Text = ex.ToString();
}
程序似乎没有连接到数据库,无论是在模拟器上还是在我的Nexus 5X上。在YouTube上观看了很多教程,谷歌搜索问题,但我仍然无法完成这项工作。这段代码是问题,还是我在数据库上的设置?
答案 0 :(得分:0)
您无法直接连接到xamarin中的外部数据库,您需要在应用和数据库之间使用一个层。该层称为webservice。
我会帮助你做到这一点。
1.首先在000webhost.com上创建一个数据库
2.添加.php或.java文件以连接并在000webhost文件管理器中插入/选择数据库中的数据。
3.在httpclient类的帮助下从您的应用程序访问.php文件。
例如,如果您必须在数据库中插入姓名,电子邮件,电话号码和密码,只需调用.php文件并将参数作为POST或GET传递。
HttpClient http = new HttpClient();
string ss = "https://YOUR 000WEBHOST WEBSITE ADDRESS/database.php";
var formContent = new FormUrlEncodedContent(new[]
{
new KeyValuePair<string,string>("Name", name.Text),
new KeyValuePair<string,string>("Email",email.Text),
new KeyValuePair<string,string>("Mobile", mobile.Text),
new KeyValuePair<string,string>("Password",password.Text)
});
HttpResponseMessage response = await http.PostAsync(ss, formContent);
var responsedone = await response.Content.ReadAsStringAsync();