将SQL查询的输出放在表中

时间:2011-12-25 00:40:17

标签: c# asp.net visual-studio visual-studio-2010

我只是无法弄清楚如何获取查询的输出并能够操作它,这意味着我有一个数据库,我有一个名为CoursePages的表,其中包含我所在大学的所有课程页面,所以当学生或有人想订阅一个课程页面,我想查看表格中的所有记录(coursePages),并让它们可点击,以便知道他/她按下了哪一个并保存。那么有什么方法可以产生这样的东西吗?

这是我的代码:

protected void Button1_Click(object sender, EventArgs e)
{
    SqlConnection conn = new SqlConnection();
    conn.ConnectionString = "Data Source=JASONTT-PC\\SQLSERVER;Initial Catalog=GNetwork;Integrated Security=True";
    SqlCommand comm = new SqlCommand();
    comm.Connection = conn;
    comm.Connection.Open();
    String query = "SELECT * FROM Course_Pages ";
    comm.CommandText = query;
    SqlDataReader reader = comm.ExecuteReader();
   // i don't know what to do after i executed the reader .. 
}

也许就像一个gridView或sthg ...我只想要每个记录我会取名字(字符串)并把它放在一个复选框中,以便我可以告诉用户点击了哪些

1 个答案:

答案 0 :(得分:1)

while (reader.Read()){
    //now you can get any values by column index like
    int i = reader.GetInt32(0);
    string s = reader.GetString(1);
    double d = reader.GetInt32(2);
    DateTime dt = reader.GetDateTime(3);
}

如果您正在询问如何将这些结果转换为网页上的链接,您应该考虑创建一个gridview并将读者绑定到它。

以下是一个示例:

    using (SqlDataReader reader = comm.ExecuteReader()) {
        gv1.DataSource = reader;
        gv1.DataBind();
    }

    <asp:GridView runat="server" AutoGenerateColumns="false" ID="gv1">
        <Columns>
            <asp:BoundField DataField="Title" HeaderText="Title" />
            <asp:TemplateField>
                <ItemTemplate>
                    <a href='foo.aspx?id=<%# Eval("id") %>'>Link</a>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>

最后请注意,如果您在返回的查询中有一个代表toto中的网址的字段,则可以使用HyperLinkField

<asp:HyperLinkField DataNavigateUrlFields="linkHref" Text="BoundLink" />

DataNavigateUrlFields是您绑定网址的结果中的字段。