C# 将特定值放入数据库中的特定表单元格中。(Razor-html) 运动 1. 2. 3. 4. 5. 6. 7. 8. 9 10 11 12 @对于(var i=1;i

C# 将特定值放入数据库中的特定表单元格中。(Razor-html) 运动 1. 2. 3. 4. 5. 6. 7. 8. 9 10 11 12 @对于(var i=1;i,c#,html,sql,razor,C#,Html,Sql,Razor,并将Linq更改为 var getPR = "SELECT kg, rep, date, exercise FROM Test WHERE exerVariName LIKE '%Comp%' order by kg desc"; 你能存储db.Query(getPR,i,ii)的结果吗在一个变量中,检查您是否得到12个练习?从上述代码中,我认为您的查询限制了记录的数量。如果记录的数量不存在,它根本不会做任何事情,它只会跳到下一个数字!@NaveenKNcan我看到了数据是如何存储在数据库中的

并将
Linq
更改为

var getPR = "SELECT kg, rep, date, exercise FROM Test WHERE exerVariName LIKE '%Comp%' order by kg desc";

你能存储db.Query(getPR,i,ii)的结果吗在一个变量中,检查您是否得到12个练习?从上述代码中,我认为您的查询限制了记录的数量。如果记录的数量不存在,它根本不会做任何事情,它只会跳到下一个数字!@NaveenKNcan我看到了数据是如何存储在数据库中的?请用dat编辑您的问题abase image,并通过将我们获得的记录数放入变量中进行了u测试?更新了帖子。我不确定我将如何做到这一点,但表的图片是该代码给我的结果,每个单元格都是循环@NaveenKNWell的结果,第一个版本给了我错误,并试图转换它所说的错误类似于
序列包含多个匹配元素
的内容,在您对它进行编辑后,
不能将==用于int和string类型
引用
Linq
东西!
singleordefault
意味着在
rep=ii
的列表中有多个记录。您可以使用
Fir>来更改它stOrDefault
,所以它不会抱怨更多的记录,因为它在哪行说过要将int转换为string?
var matched=data.SingleOrDefault(x=>x.exercise==i&&x.rep==ii);
give==从int到stringLet us的错误。
var getPR = "SELECT kg, rep, date FROM Test WHERE exerVariName LIKE '%Comp%' AND exercise = @0 order by kg desc";
db.Execute(getPR, i);
var data = db.Query(getPR, i)

@for (var ii = 1; ii <= 12; ii++)
{
    var matched = data.SingleOrDefault(x => x.rep == ii);
    if (matched != null)
    {
        DateTime Date = get.Date;
        var finalDate = Date.ToString("MMM d, yyyy");
        var weight = matched.kg + "kg";
        var reps = "x " + matched.rep;

        <td class="prTableCell" title="@finalDate">@weight @reps</td>
    }
    else
    {
        <td class="prTableCell">0kg</td>
    }
}
var getPR = "SELECT kg, rep, date, exercise FROM Test WHERE exerVariName LIKE '%Comp%' order by kg desc";
var matched = data.SingleOrDefault(x => x.exercise == i && x.rep == ii);