下午好一切,如何加入SQL两个表,并显示结果事件A,那么所有参加者,事件B和显示所有参加者等
我创建一个管理页面,显示事件列表和那些自愿帮助的人。我有一张桌子供参加活动,另一张供志愿者参加。
我将eventID存储在志愿者的表中,并且能够加入他们,但是当我加入他们时,我为每个志愿者都获得了一个新行,这个行也再次显示了事件名称。
我想显示事件名称并在事件名称下方显示志愿者。
ex。
event A
Volunteer 1
volunteer 2
volunteer 3
event B
Volunteer 1
volunteer 2
任何人都可以指向正确的方向吗?
public string volunteers(){
SqlCommand cmd = new SqlCommand(@"SELECT* FROM fundraiser_youth
LEFT JOIN
fundrasier_helpers ON fundraiser_youth.id = fundrasier_helpers.eventID
ORDER BY reportTime;", con);
con.Open();
SqlDataReader reader;
reader = cmd.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
DateTime reportTime = Convert.ToDateTime(reader[1]);
DateTime gateTime = Convert.ToDateTime(reader[2]);
DateTime gameTime = Convert.ToDateTime(reader[3]);
VOLUNTEER.Append("<div class='col-md-4'>");
VOLUNTEER.Append("<div class='well well-lg'>");
VOLUNTEER.Append("<form action='register/default.aspx' method='POST'>");
VOLUNTEER.Append("<h4>" + reportTime.DayOfWeek + " " + reportTime.Month + "/" + reportTime.Day + "/" + reportTime.Year + "</h4>");
VOLUNTEER.Append("<h5>" + reader[4].ToString() + " " + reader[7].ToString() + " " + reportTime.ToString("h:mm tt", CultureInfo.InvariantCulture) + "</h5>");
VOLUNTEER.Append("<ul>");
VOLUNTEER.Append("<li>" + reader[10].ToString() + " " + reader[11].ToString() + "</li>");
VOLUNTEER.Append("</ul>");
VOLUNTEER.Append("<input type=hidden name='id' value='" + reader[8].ToString() + "' />");
VOLUNTEER.Append("<span style='text-align:right; margin-top:20px;'><input type='submit' value='Register' class='btn btn-info' /></span>");
VOLUNTEER.Append("</form>");
VOLUNTEER.Append("</div>");
VOLUNTEER.Append("</div>");
}
return VOLUNTEER.ToString();
}
return "no info provided";
}
数据库引擎请 – maSTAShuFu
通常你会volunteerMaster,EventMaster和VolunteerEvents表 – maSTAShuFu
不相关的问题,但我会强烈* *建议不要使用数字索引你的'reader'对象。它使得代码非常难以遵循/维护,并且很容易破坏。您应该使用'reader [“ColumnName”]'。它的意图更清晰。 (在同样的说明中,你应该不会使用'SELECT *'出于同样的原因,请列出你需要的列。) – Siyual