你可以建立一個模型來表示你的數據:
public class StudentCourse
{
public string Name { get; set; }
public int Year { get; set; }
... and so on
}
那麼你可以創建一個將使用ADO.NET查詢數據庫,並填補這一模式的集合的方法:
public static IEnumerable<StudentCourse> GetCourses()
{
using (var conn = new SqlConnection(SomeConnectionString))
using (var cmd = conn.CreateCommand())
{
conn.Open();
cmd.CommandText = "select st.firstname + ' ' + st.lastname, se.year, c.coursename, c.NumberOfCredits, ri.mark from Students st inner join RegisteredIn ri on ri.StudentId=st.id inner join Semester se on se.id=ri.SemesterId inner join Courses c on c.id=se.id";
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
{
yield return new StudentCourse
{
Name = reader.GetString(0),
Year = reader.GetInt32(1),
... and so on
};
}
}
}
}
最後,你可以在頁面綁定這一個GridView:
public void Page_Load(object sender, EventArgs e)
{
courses.DataSource = GetCourses();
courses.DataBind();
}
,並在你的鱈魚Ë你的背後將有格:
<asp:GridView ID="courses" runat="server" AutoGenerateColumns="true" />
,或者如果你不想使用網格視圖,只需使用一個Repeater
並建立從模型中喜歡的任何標記。
是的,我用了一段時間(reader.Read())// string _firstname = reader [0] .ToString(); //,但無法打印出來。 – arin 2012-04-16 18:48:47