SQL 服务器 CE:Select 列中的第一个值
SQL Server CE: Select first value in column
我正在尝试从我的数据库中获取日期,但只有第一个匹配的日期,我不需要其他的,因为我只想显示一次,否则 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>
}
我试过limit
、first
和top
都没有成功,我还发现它必须是SQL Server CE v.3.5+但我不知道我有什么,因为我使用 webmatrix 并且找不到任何信息。
有没有办法只显示第一行匹配的日期,然后自己写出来?
您可以在<a>@showDate</a>
之后简单地添加一个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
是循环)
建议的解决方案将加载所有匹配的日期,为什么不使用:
var getDate = "SELECT TOP 1 [date] FROM [Test] WHERE [date] = '" + inputDate + "'";
我正在尝试从我的数据库中获取日期,但只有第一个匹配的日期,我不需要其他的,因为我只想显示一次,否则 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>
}
我试过limit
、first
和top
都没有成功,我还发现它必须是SQL Server CE v.3.5+但我不知道我有什么,因为我使用 webmatrix 并且找不到任何信息。
有没有办法只显示第一行匹配的日期,然后自己写出来?
您可以在<a>@showDate</a>
之后简单地添加一个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
是循环)
建议的解决方案将加载所有匹配的日期,为什么不使用:
var getDate = "SELECT TOP 1 [date] FROM [Test] WHERE [date] = '" + inputDate + "'";