C# 如何解决SQLite查询上的空绑定?
我正在使用SQLite libs和SQLite.Net查询我的WindowsPhone8.1项目中的现有数据库。到目前为止,与数据库的连接执行良好,但返回的记录为空 我采取了通常的调试步骤- 1.检查映射到my db schema中名称的绑定类型和名称 2.验证数据库中是否存在数据 3.仔细查看查询数据库的代码,发现数据库绑定为null。(这对我来说意味着POCO中的字段映射存在问题) 我没有得到任何编译时错误,但是返回的记录是空的 问题: 有人知道为什么为数据库映射提供的绑定存在问题吗 当我遍历SQLite.cs类时,我发现绑定计数为0: 查询代码:C# 如何解决SQLite查询上的空绑定?,c#,database,sqlite,orm,windows-phone-8.1,C#,Database,Sqlite,Orm,Windows Phone 8.1,我正在使用SQLite libs和SQLite.Net查询我的WindowsPhone8.1项目中的现有数据库。到目前为止,与数据库的连接执行良好,但返回的记录为空 我采取了通常的调试步骤- 1.检查映射到my db schema中名称的绑定类型和名称 2.验证数据库中是否存在数据 3.仔细查看查询数据库的代码,发现数据库绑定为null。(这对我来说意味着POCO中的字段映射存在问题) 我没有得到任何编译时错误,但是返回的记录是空的 问题: 有人知道为什么为数据库映射提供的绑定存在问题吗 当我遍
using (var dbConn = new SQLiteConnection(Path.Combine(ApplicationData.Current.LocalFolder.Path, AppDBPath), true))
{
List<ZoneInfo> zoneInfo = dbConn.Query<ZoneInfo>("select * from " + tableName).ToList<ZoneInfo>();
ObservableCollection<ZoneInfo> zoneInfoCollection = new ObservableCollection<ZoneInfo>(zoneInfo);
return zoneInfoCollection;
}
数据库架构-
您的“DB映射POCO”与数据库架构不匹配
[栏目(“电价”)]
公共整数?TariffPH{get;set;}
[第列(“电价”)]
公共整数?TariffPD{get;set;}
应该是
[Column("tariff_ph")]
public float TariffPH { get; set; }
[Column("tariff_pd")]
public int TariffPD { get; set; }
因为您的数据集中有浮点值,并且它们都不可为空
我这里有一个最小的例子,它创建数据库,插入一些数据并更新数据库。看看这是否对你有帮助,但我很确定你的数据没有正确匹配。我终于在我的测试设备上实现了这一点,重新安装了应用程序,该应用程序反过来复制了数据库的一个重新拷贝。但当我将应用程序部署到应用商店时,查询没有启动。你知道为什么会这样吗?在此处创建了一个问题:
[Column("tariff_ph")]
public float TariffPH { get; set; }
[Column("tariff_pd")]
public int TariffPD { get; set; }