【问题标题】:SQL Server CE: Select first value in columnSQL Server CE:选择列中的第一个值
【发布时间】:2016-12-28 11:26:22
【问题描述】:

我正在尝试从我的数据库中获取日期,但只有第一个匹配的日期,我不需要其他日期,因为我只想显示一次,否则 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 并找不到任何信息。

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

【问题讨论】:

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


    【解决方案1】:

    您可以在&lt;a&gt;@showDate&lt;/a&gt; 之后简单地添加break,如下所示:

    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 是一个循环)

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-12-17
        • 2012-04-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-13
        • 2011-12-06
        相关资源
        最近更新 更多