下午好一切,如何加入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