程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> linq-我想驗證輸入的用戶名與數據庫裡名字重復與否

linq-我想驗證輸入的用戶名與數據庫裡名字重復與否

編輯:編程綜合問答
我想驗證輸入的用戶名與數據庫裡名字重復與否

_我想寫asp.net 的注冊界面,其中要求和數據庫裡面名稱對比用戶名重復與否,我使用自定義控件CustomValidator,但是死活沒用, txt,erromessage, controlvalidate都設置了你看下面是.cs裡的代碼:
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
{
MyPetShopDataContext db = new MyPetShopDataContext();
var c = from r in db.Category
select r.Name;
foreach (var m in c)
{
if (args.Value.Equals(m.ToString()))
args.IsValid = false;
else args.IsValid = true;
}

最佳回答:


  • 兩個問題
  • 1.linq可以自己帶條件的,何必把所有數據查出來一條一條去核對?解決方法如下:

    var name0 = args.Value
    var c = from r in db.Category
    select r.Name
    where r.Name == name0;
    
  • 2.args.IsValid = true;是在循環裡面的。也就是說你循環裡判斷了一次就認為可以得出對錯的結論了麼?你既然查了所有數據出來,當然要所有數據都看過才能知道是對的。解決方法如下

    args.IsValid=True;
    foreach (var m in c)
    {
    if (args.Value.Equals(m.ToString()))
    {
    args.IsValid = false;
    break;
    }
    } 
    
  • 但是無論如何以第一種解決方式為好

qq_26831969
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved