【发布时间】:2017-01-30 21:46:21
【问题描述】:
已为 Xamarin.Forms for PCL 安装 NUGet 包。我有 4 个适用于 Droid、iOS、Win 8.1 和 WinPhone 8.1 的项目。尝试连接我的数据库,但遇到问题:我的 Win 和 WinPhone 项目看不到它或返回错误的路径。关注官方 Xamarin.Forms 论坛。
界面:
public interface ISQLite
{
string GetDatabasePath(string filename);
}
WInPhone 类:
using System.IO;
using Windows.Storage;
using Baumizer.WinPhone;
using Xamarin.Forms;
[assembly: Dependency(typeof(SQLite_WinPhone))]
namespace Baumizer.WinPhone
{
public class SQLite_WinPhone:ISQLite
{
public SQLite_WinPhone() { }
public string GetDatabasePath(string filename)
{
return Path.Combine(ApplicationData.Current.LocalFolder.Path, filename);
}
}}
这个类用于选择信息:
public class DataBase
{
SQLiteConnection connection;
public DataBase()
{
connection= new SQLiteConnection(DependencyService.Get<ISQLite>().GetDatabasePath("Database.db"));
}
public IEnumerable<Group> GetGroups()
{
return connection.Query<Group>("SELECT * FROM [Scedule] WHERE [facultyName] =" + "'" + Data.CurrentFaculty + "'");
}
}
它在 Android 上运行良好。在 WinPhone 上,我得到 SQLite 异常 - 没有这样的表:Scedule。我打开 db 所在的模拟器的本地目录 - 0Kb。 我将 db 放入 Assets 并将 BuildInAction 设置为 Content。怎么了?需要帮助
【问题讨论】:
-
您是否在某处创建表?还是现有的数据库?
-
现有数据库
标签: c# .net sqlite xamarin xamarin.forms