在C#中的GridView控件怎样判数据的唯一性。

在C#中的GridView控件怎样判数据的唯一性,我要取里面的账号(IDAct)然后根据后面来的注册判断用户是否存在唯一性。其中代码如下:stringstr="";for... 在C#中的GridView控件怎样判数据的唯一性,我要取里面的账号(ID Act)然后根据后面来的注册判断用户是否存在唯一性。
其中代码如下 :
string str = "";
for (int i = 0; i < Grid_Info.Rows.Count; i++)
{
str = Convert.ToString(Grid_Info.Rows[i].Cells[3].Text);//用户第三列
if (Txt_User.Text.Trim() == str)
{
Lab_Check.Text = "此工号/账号已经存在!";

}
else
{ Lab_Check.Text = "此工号/账号合格!"; }

}
但是其中检测出来的账号不正确 。。各位大哥大姐给个意见吧!
展开
 我来答
百度网友3f5a4b6
2013-08-06 · 超过15用户采纳过TA的回答
知道答主
回答量:35
采纳率:0%
帮助的人:23.4万
展开全部
string str = "";bool key=false;        for (int i = 0; i < Grid_Info.Rows.Count; i++)        {                 str = Convert.ToString(Grid_Info.Rows[i].Cells[3].Text);//用户第三列           
 if (Txt_User.Text.Trim() == str)          
   {                     
 key=true;     
 break;        
     }       
 }
Lab_Check.Text = key?"此工号/账号已经存在!":"此工号/账号合格!";

 小数据量其实不错    但数据量大的时候   速度容易变慢

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友be0af5c
2013-08-06 · TA获得超过175个赞
知道小有建树答主
回答量:263
采纳率:72%
帮助的人:79.5万
展开全部

你这个判断写在循环里了,假如你一共有三条数据,取到A、B、C,然后你想输入一个B判断一下,当你判断到第二个的时候发现存在了,应该Lab_Check输出存在,但是在for的下一次判断又判断B不等于C所以,把Lab_Check刚才的值替换成了不存在。


string str = "";
bool key=false;        
for (int i = 0; i < Grid_Info.Rows.Count; i++)       
 {            
     str = Convert.ToString(Grid_Info.Rows[i].Cells[3].Text);//用户第三列           
 if (Txt_User.Text.Trim() == str)            
 {                
      key=true;
      break;           
  }        
}
if(key==true)
{
     Lab_Check.Text = "此工号/账号已经存在!";       
}
else
{
    Lab_Check.Text = "此工号/账号合格!";
}

用这个就行。

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ghotos
2013-08-06 · TA获得超过280个赞
知道小有建树答主
回答量:435
采纳率:0%
帮助的人:362万
展开全部

真的是第三列么?第三列的话,下标是2来着。而且需要加个break

string str = "";
for (int i = 0; i < Grid_Info.Rows.Count; i++)
{
   str = Convert.ToString(Grid_Info.Rows[i].Cells[2].Text);//用户第三列
   if (Txt_User.Text.Trim() == str)
   {
       Lab_Check.Text = "此工号/账号已经存在!";
        break;    //    否则结果被覆盖
   }
   else
   {
       Lab_Check.Text = "此工号/账号合格!"; 
   }

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
handangaoyang
2013-08-06 · TA获得超过2242个赞
知道大有可为答主
回答量:2633
采纳率:88%
帮助的人:913万
展开全部
bool flag=false;
string str = "";
    for (int i = 0; i < Grid_Info.Rows.Count; i++)
    {
        str = Convert.ToString(Grid_Info.Rows[i].Cells[3].Text);//用户第三列
        if (Txt_User.Text.Trim() == str)
        {
            flag=true;
        }
     }
     if(flag)
         //账号存在
     else
         //账号不存在
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
niceUnimoon
2013-08-06 · 超过25用户采纳过TA的回答
知道答主
回答量:137
采纳率:0%
帮助的人:81.6万
展开全部
数组下标是从0开始数的吧。Grid_Info.Rows[i].Cells[3]这个是第四列吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式