SQL Server CE:在列中选择第一个值

时间:2016-12-28 11:26:22

标签: sql-server-ce windows-ce webmatrix

我正在尝试从我的数据库中获取日期,但只有第一个匹配,我不需要其他的,因为我只想显示一次,否则foreach会多次写出来,具体取决于结果当然是多少。

var getDate = "SELECT date FROM Test WHERE date = '" + inputDate + "'";

foreach (var c in db.Query(getDate)) {
    DateTime Date = c.date;
    var showDate = Date.ToString("MMMM dd, yyyy");
    <a>@showDate</a>
}

我尝试limitfirsttop但没有成功,我还发现它必须是SQL Server CE v.3.5 +但我不知道我有什么,因为我使用webmatrix并且无法找到它的任何信息。

有没有办法只显示匹配的第一行日期并单独将其写出来?

2 个答案:

答案 0 :(得分:1)

您可以在break之后添加<a>@showDate</a>,如下所示:

var getDate = "SELECT date FROM Test WHERE date = '" + inputDate + "'";

foreach (var c in db.Query(getDate)) {
    DateTime Date = c.date;
    var showDate = Date.ToString("MMMM dd, yyyy");
    <a>@showDate</a>
    break;
}

break命令强制退出循环(foreach是循环)

答案 1 :(得分:0)

建议的解决方案将加载所有匹配日期,为什么不使用:

var getDate = "SELECT TOP 1 [date] FROM [Test] WHERE [date] = '" + inputDate + "'";