【发布时间】:2019-11-21 10:12:36
【问题描述】:
我正在尝试创建连接到 MySQL 数据库的 C++/WinRT UWP 应用程序,但实际上任何查询任何内容的方式都会很棒;我只需要以一种方便的方式存储和更新我的数据并通过 LAN 使用它。
了解 WinRT 我被重定向到 UWP 文档,在那里我找到了使用 System.Data.SQLite/SqlClient 或 MySQL.Data 的方法,但所有这些都返回:
您正在尝试将此包安装到以“native,Version=v0.0”为目标的项目中,但该包不包含任何与该框架兼容的程序集引用或内容文件。
表示不支持 WinRT(“本机”)。
我找到了“SQLite for Windows Runtime (Windows 8.1)”,但是当我尝试执行 install-Package SQLite.WinRT 时,我遇到了同样的错误。在 WinRT 中存储关系数据的首选方式是什么,或者我做错了什么?
【问题讨论】:
-
SQLite 包含在 Windows 10 SDK 中。使用 SQLite 是
#include <sqlite.h>的问题。这为您提供了一个 C 接口。您可以按原样使用它,也可以使用您喜欢的 C++ 包装器。 -
更正,应该是
#include <winsqlite/winsqlite3.h>。有关在本质上接近 C++/WinRT 的 C++ 包装器,请参阅 Kenny Kerr 的 MSDN 文章 Using SQLite with Modern C++。 SQLite 与 Windows 应用商店应用程序兼容,包括 UWP 应用程序。 -
关于您遇到的错误的注释:您正在尝试在本机应用程序中引用 .NET 程序集(
System命名空间是提示)。虽然您可以使用以 .NET 语言编写的 Windows 运行时组件,但您不能使用常规的 .NET 程序集。 -
@IInspectable 我正在尝试按照 Kenny 的描述使用此标头,但我收到有关使用的不同方法的链接器错误,例如“SQLiteConnection.obj:错误 LNK2001:无法解析的外部符号 _sqlite3_close@4”。谷歌搜索给了我关于我需要如何安装 nuget sqlite 包的主题,但是这个包给了我我首先描述的错误。
-
我仍然没有在 UWP 应用程序中使用 SQLite 的实践经验。我计划下周将数据存储合并到我的一个宠物项目中。当我完成评估后,我会在这里给出答案。
标签: mysql sqlite uwp c++-winrt