在 Windows Phone 上处理 SQLite 聚合函数的结果
Handling the result of a SQLite aggregate function on Windows Phone
我正在开发一个应用程序 (SleepTracker),我正在尝试使用不同的聚合函数根据保存在 SQLite 数据库中的数据组合一个统计功能。我想要实现的是使用我已经编写的聚合函数查询 table,并将结果存储在绑定到视图上的文本块的字符串中。
但是,我无法弄清楚我将如何去做这件事,因为它似乎只有在结果存储在某种列表(如 OC)中时才有效,因为只需要一个结果似乎有点过分了例如计数或最大值。有没有一种方法可以实现我完全忽略的目标?
例如,这是我正在使用的:
using (var conn = new SQLiteConnection(App.ConnectionString))
{
var latestTime = @"SELECT time(max(SleepTime))
FROM SleepTrackerModel
WHERE Date > (SELECT DATETIME('now', '-7 day'))";
conn.Query<SleepTrackerModel>(latestTime);
}
然后我有一个字符串 "LatestTime" 绑定到视图上的文本块。我希望查询的结果可以只存储为该字符串的值,仅此而已,但它似乎并不像那样工作。
编辑
也许我可以使用 ExecuteScalar?所以也许我可以尝试类似的东西;
LatestTime = conn.CreateCommand(latestTime).ExecuteScalar<string>();
我解决了我的问题,我会 post 给出答案以防有人遇到问题。
我尝试了 ExecuteScalar() 代码,它为我提供了我需要的结果,其中查询结果存储在一个字符串中并绑定到适当的文本块。这是一些代码;
var query = @"SELECT time(max(MyTime))
FROM YourTable";
using (var db = new SQLiteConnection(your connection string))
{
// MaxTime being a string that is bound to the textblock on the view.
MaxTime = db.CreateCommand(query).ExecuteScalar<string>();
}
我正在开发一个应用程序 (SleepTracker),我正在尝试使用不同的聚合函数根据保存在 SQLite 数据库中的数据组合一个统计功能。我想要实现的是使用我已经编写的聚合函数查询 table,并将结果存储在绑定到视图上的文本块的字符串中。
但是,我无法弄清楚我将如何去做这件事,因为它似乎只有在结果存储在某种列表(如 OC)中时才有效,因为只需要一个结果似乎有点过分了例如计数或最大值。有没有一种方法可以实现我完全忽略的目标?
例如,这是我正在使用的:
using (var conn = new SQLiteConnection(App.ConnectionString))
{
var latestTime = @"SELECT time(max(SleepTime))
FROM SleepTrackerModel
WHERE Date > (SELECT DATETIME('now', '-7 day'))";
conn.Query<SleepTrackerModel>(latestTime);
}
然后我有一个字符串 "LatestTime" 绑定到视图上的文本块。我希望查询的结果可以只存储为该字符串的值,仅此而已,但它似乎并不像那样工作。
编辑 也许我可以使用 ExecuteScalar?所以也许我可以尝试类似的东西;
LatestTime = conn.CreateCommand(latestTime).ExecuteScalar<string>();
我解决了我的问题,我会 post 给出答案以防有人遇到问题。
我尝试了 ExecuteScalar() 代码,它为我提供了我需要的结果,其中查询结果存储在一个字符串中并绑定到适当的文本块。这是一些代码;
var query = @"SELECT time(max(MyTime))
FROM YourTable";
using (var db = new SQLiteConnection(your connection string))
{
// MaxTime being a string that is bound to the textblock on the view.
MaxTime = db.CreateCommand(query).ExecuteScalar<string>();
}