Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 防止重复的数据库值_C#_Asp.net - Fatal编程技术网

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中添加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++;
    }