-3

このクエリがあり、生成された情報を抽出して、WML カードを含む ASP.net ページに出力したいと考えています。

string queryString = "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 "; 

注:結果は次のようになります

First Semester  2010 
Student : Arin Rizk  
Course Name     No. of Credit      Mark
AAA                3            65    
BBB                3            23     
CCC                3            65     
DDD                3            58     
EEE                3            70

どうすればできますか?を見せて下さい。

4

2 に答える 2

2

データを表すモデルを構築できます。

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、モデルから好きなマークアップを作成します。

于 2012-04-16T18:47:21.370 に答える
0

これにはGridviewとItemtemplateを使用できます... SQLクエリをgridviewにバインドし、要件に従ってitemtemplateにテーブルを作成するだけです。

于 2012-04-16T18:47:06.590 に答える