如何在Windows 10 UWP应用中使用MySQL

Gar*_*eld 1 mysql windows-10 uwp

我正在尝试将mysql与Windows 10 UWP应用一起使用。我到处都被告知要下载连接器/ NET,并引用程序集/ rt MySql.Data.RT.dll。但是,在下载每个连接器的mysql网站后,我无法找到该dll进行引用。我还尝试了安装的所有其他dll,但每个dll都说“无法添加对的引用。The project targets '.NETCore' while the file reference targets '.NETFramework'. this is not a supported scenario"如何在新应用中使用mysql?这将不再可能吗?

Mar*_*und 5

你真幸运!如果您的应用程序针对Windows 10 Fall Creators Update(版本16299),则可以连接到外部数据库。

您必须解决的第一个问题是您不能直接从UWP应用程序引用.NET Framework库。可以通过创建.NET标准库并从那里引用.NET Framework库来避免这种情况。

不幸的是,这还不适用于官方的MySQL连接器(由于一些不受支持的引用),但是还有其他选择。最有前途的是那些支持.NET标准的。例如,MySqlConnector项目提供了与官方连接器非常相似的接口。它仍处于测试阶段,但会定期更新并积极开发。

您可以使用NuGet轻松将其安装到项目中。打开NuGet软件包控制台(工具-> NuGet软件包管理器->软件包管理器控制台),然后输入以下内容:

Install-Package MySqlConnector -Version 0.34.0 
Run Code Online (Sandbox Code Playgroud)

现在你可以使用MySqlConnectionMySqlCommand等照常进行。

string connStr = "server=localhost;user=root;database=uwpconnect;port=3306;password=";
StringBuilder sb = new StringBuilder();
MySqlConnection conn = new MySqlConnection(connStr);
conn.Open();
string sql = "SELECT Name FROM world";
MySqlCommand cmd = new MySqlCommand(sql, conn);
MySqlDataReader rdr = cmd.ExecuteReader();

while (rdr.Read())
{
   sb.AppendLine(rdr[0].ToString());
}
rdr.Close();
conn.Close();
Run Code Online (Sandbox Code Playgroud)