C# 防止重复的数据库值
我试图从数据库中检索数据并将其分配到变量中,但我面临的问题是,例如,变量获取第一行数据,然后复制它 如果有四行具有不同的值:C# 防止重复的数据库值,c#,asp.net,C#,Asp.net,我试图从数据库中检索数据并将其分配到变量中,但我面临的问题是,例如,变量获取第一行数据,然后复制它 如果有四行具有不同的值: id name -------- 1 - a 2 - b 3 - c 4 - d 当我将name列指定给变量并将其添加到标签时,结果如下所示: id name -------- 1 - a 2 - a 3 - a 4 - a 这是我的密码: ASPX标记: <asp:GridView ID="GridView1" CssClass="datatable"
id name
--------
1 - a
2 - b
3 - c
4 - d
当我将name列指定给变量并将其添加到标签时,结果如下所示:
id name
--------
1 - a
2 - a
3 - a
4 - a
这是我的密码:
ASPX标记:
<asp:GridView ID="GridView1" CssClass="datatable" runat="server"
AutoGenerateColumns="False" DataSourceID="SqlDataSource1" >
<Columns>
<asp:TemplateField HeaderText="<%$Resources:mj.resource, req_category%>"
SortExpression="category_id">
<ItemTemplate >
<asp:Label ID="category_id" runat="server"
text="<%# Variable_category %>"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
只是一个想法,错误不在这里:
reader[1].ToString();
增量[1]
添加
inti=0在while之前编码>并在while中添加i++并通过[i]更改[1]您可以尝试:根据您的ID更改值。省略了异常处理:
var values = new List<string>();
while (reader.Read())
{
values.add(reader.GetString(1));
}
int i = 0;
foreach (GridViewRow row in gridViewIdHere.Rows)
{
((Label)row.FindControl("category_id")).Text = values[i];
i++;
}
var值=新列表();
while(reader.Read())
{
add(reader.GetString(1));
}
int i=0;
foreach(gridViewIdHere.Rows中的GridViewRow行)
{
((Label)row.FindControl(“category_id”)。Text=值[i];
i++;
}
rdr是什么意思?谢谢Gauravsa,这正是我要找的,但是当我单击标题对gridview中的行进行排序时,出现了一个小问题,标签值不可见。我想当你单击标题时,页面加载被调用。如果(!IsPostback)…您可以发布另一个问题吗?因为这是一个单独的问题。让我知道,我可以发布回复。
var values = new List<string>();
while (reader.Read())
{
values.add(reader.GetString(1));
}
int i = 0;
foreach (GridViewRow row in gridViewIdHere.Rows)
{
((Label)row.FindControl("category_id")).Text = values[i];
i++;
}