我在循环和对象方面存在问题,我不知道如何获取数据。我需要从MySQL获取值并创建一个HTML表:
[![在此处输入图片描述] [1]] [1]
它们的表将是几个,并且应该按日期分组。在这里,我对分组,数据获取和渲染存在问题。谁能分辨出什么毛病?
```
private const int cols = 3;
private string header;
private string title;
private StringBuilder body=new StringBuilder(string.Empty);
public void PrintRes()
{
var ID =Cursor.GetFieldValue<int>("ID");
var cmdRec = SqlClient.Main.CreateCommand(@"
select r.res, r.ID,r.emp, kdk.FIO, cert.date from certres r
left join kdk on n_kdk=r.EMPL
left join cert on cert.id=r.ID
where r.ID=@ID"
, new SqlParam("ID", ID)).ExecObjects(new { res = 0, fio = string.Empty, date=DateTime.MinValue});
foreach (var c in cmdRec.GroupBy(x=>x.date))
{
for (int i = 0; i < cmdRec.Select(x=>x.date==c.Key.Date).Count(); i++)
{
//var titleHead= string.Format("<tr>{0}</tr>", c.Key);
}
}
}
public void CreateHtml(int cols,string[] captions)
{
cols = captions.Length;
StringBuilder sb=new StringBuilder(string.Empty);
foreach (var c in captions)
{
sb.AppendFormat("<th>{0}</th>", c);
}
var title=string.Format("№", "FIO","Result");
header = string.Format("<thead><tr>{0}</tr></thead>", sb.ToString());
}
public void AddRows(object[] values)
{
body.Append("<tr>");
for (int i = 0; i < values.Length; i++)
{
body.AppendFormat("<td>{0}</td>", values[i].ToString());
}
for (int i = 0; i < cols; i++)
{
body.Append("<tr></tr>");
}
body.Append("</tr>");
}
public string Html()
{
return string.Format("<table>{0}</table><table style=\"boarder:solid 1px;\">{1}<tbody>{2}</tbody></table>",
title,header,body.ToString());
}
[1]: https://i.stack.imgur.com/xvwG9.png