2013-11-14 86 views
0

好吧,我有一个用户表,我想检查。此用户表具有用户名,电子邮件和帐号。我想要做的是检查是否有人被采取,如果已经采取了返回。存储过程验证最佳方法

我想在C#侧做一个数组例如

CHECK AGAINST TABLE 
IF USERNAME MATCHES INSERT @ARRAY "TRUE" 
IF EMAIL MATCHES INSERT @ARRAY "TRUE" 
ETC. 

然后我会打电话给数组和索引检查

If registrationValidationArray[0] = "true" 
{ 
    ViewBag.UserNameTaken = "True" 
    return view("Registration") 
    // On cshtml post error next to username that it has been taken 
} 

所以我的问题是没有这种做法听起来合乎逻辑和听起来像是会起作用,还是有另一种方法可以帮助我在这里过程明智。另一位开发人员为程序提出了一个增量,所以如果用户名是+1,然后根据数值在C#侧显示,但我无法将头围绕在那个上。任何人都知道更好的方式,或在我的逻辑中看到缺陷?

+0

听起来像是一个很好的方式让你的前端有人找出你的系统上正在使用的用户名/帐号.. – Paddy

+0

那么现在我只需要担心得到这个工作。后来我可以担心这样的事情。 @Paddy与其他任何注册服务有何不同,例如当您使用Google注册新电子邮件时?我可以看到你的来源,但同时这需要检查,我不能告诉用户嘿,你输入的一个或多个已经被使用。这是什么将是一个建设性的方式去做,然后是我问。 – NitroFrost

+0

而不是告诉他们确切地使用什么,只是说明输入的细节已被使用,并要求一组不同的细节。更好的办法是为你生成用户名,不需要检查。 – Paddy

回答

1

如果您使用的是Telerik的OpenAccess的ORM,你有一个存储过程从检查我建议你到这个存储过程映射到Domain Method返回详细信息,然后的OpenAccess将返回你很好的命名属性的对象。您可以使用返回的对象而不是数组。这会让你的代码更易读,更易于维护。现在您应该记住索引0和索引1的含义,即使您将索引定义为常量,它也不会是引人注目的代码。