我只是无法弄清楚如何获取查询的输出并能够操作它,这意味着我有一个数据库,我有一个名为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 ...我只想要每个记录我会取名字(字符串)并把它放在一个复选框中,以便我可以告诉用户点击了哪些
答案 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
是您绑定网址的结果中的字段。