【问题标题】:Retrieving Data in Webmatrix without 'foreach'在没有“foreach”的情况下检索 Webmatrix 中的数据
【发布时间】:2013-05-05 05:59:43
【问题描述】:

我想从我的数据库中检索单个数据项,然后用作输入元素的值。 使用以下将检索数据库中SubmittedBy 的每个实例,因此会产生多个结果。

var UserId = WebSecurity.CurrentUserId;

var db = Database.Open("testDB");
var selectQueryString = "Select SubmittedBy FROM Posts WHERE UserId=@0";

var data = db.Query(selectQueryString, UserId);

@foreach(var row in data)
{
    <input type="email" name="emailfrom" id="emailfrom" value="@SubmittedBy"/>  
}

我如何检索 SubmittedBy 以便它只给出一个结果,即没有 foreach 循环?

提前致谢!!!

【问题讨论】:

    标签: sql loops foreach webmatrix


    【解决方案1】:

    如果根据您的数据限制,您要为特定的 UserId 获得 1 个且只有 1 个值,您可以使用

       var SubmyttedValue = db.QueryValue(selectQueryString, UserId);
    

    【讨论】:

      【解决方案2】:

      有一个专门为此目的创建的方法,称为 QuerySingle - 只需像这样更改您的查询:

      var data = db.QuerySingle(selectQueryString, UserId);
      

      我希望这会有所帮助!

      【讨论】:

      • 实际上,我认为这不会为 OP 产生所需的结果,或者至少“数据”不会是他们认为的类型。也许像var data = db.QuerySingle(selectQueryString, UserId).columnName 这样的东西会更好。或者,当然,您可以只使用 Ps1CsCpp 的答案,因为它可以达到相同的结果。
      【解决方案3】:

      像这样更改您的查询:

      Select SubmittedBy FROM Posts WHERE UserId=@0 LIMIT 1
      

      【讨论】:

        猜你喜欢
        • 2012-03-03
        • 1970-01-01
        • 2011-07-24
        • 2016-04-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-10
        • 1970-01-01
        相关资源
        最近更新 更多