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.Valuevar c = from r in db.Categoryselect r.Namewhere 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;}} 
  • 但是无论如何以第一种解决方式为好

解决方案二:
sql=""select * From TableName name='"" & name & ""'""

Set rs = conn.Execute(sql)
Dim HasName
HasName = rs.EOF

rs.Close
If HasName Then
sql = ""Insert into .......""
Else
Response.Write ""用户已经存在""
End If

解决方案三:
不,要求用linq 使用控件customValidation ,我的代码应该是Linq查询出问题了,不知道哪错了 指点一下呐呐

时间: 2024-09-23 23:33:14

linq-我想验证输入的用户名与数据库里名字重复与否的相关文章

BDE 输入19.06在数据库里变成19.0599999

问题描述 BDE 输入19.06在数据库里变成19.0599999 使用环境是: Windows 2003 C++ Builder 6 BDE 5.1 TQuery Ehlib 6.1 SQL Server 2005 连接方式是:数据库 >>> BDE >>> TQuery >>> Ehlib >>> 输入 经观察发现数据是在TQuery那里就变了. 不知道如何解决,求大侠指点 解决方案 浮点数在计算和转换成10进制的时候有误差,编程

如何实现当输入完用户名光标离开textbox时验证输入的用户名的唯一性

问题描述 请问我在用户注册页面里想实现当用户输入用户名后移开textbox,检测用户名的唯一性,我知道是根据textbox.text的内容在数据库中检索,但是我不知道把检索的操作放在哪里实现?我看了textbox只有一个textchange事件.请大家指点,谢谢! 解决方案 解决方案二:textchange事件触发Ajax解决方案三:直接在textchange中作解决方案四:必须要用到Ajax吗?我是初学的,不了解Ajax解决方案五:引用3楼cary87的回复: 必须要用到Ajax吗?我是初学的

asp.net中,如何验证输入文本框的是小数点后带两位的数字,即money类型

问题描述 asp.net中,如何验证输入文本框的是小数点后带两位的数字,即money类型.请各位高手指点 解决方案 解决方案二:functionIsFloat(name)//验证输入小数(小数点后2位){if(name.value!=""){if(name.value.search(/^[0-9]+$/)!=-1||name.value.search(/^([0-9]+)|([0-9]+.[0-9]*)|([0-9]*.[0-9]+)$/)!=-1){name.value=Math.r

C#验证输入的是否数字的几种方法

方法一:             static bool IsNumeric(string str)   {    if (str==null || str.Length==0)     return false;    foreach(char c in str)    {     if (!Char.IsNumber(c))     {      return false;     }    }    return true;   }     方法二: private bool IsNume

用 Windows 窗体 DataGrid 控件验证输入

datagrid|window|控件 Windows 窗体 DataGrid 控件验证输入 Windows 窗体 DataGrid 控件有两种可用的输入验证类型.如果用户试图输入一个值,而该值具有单元格不可接受的数据类型(例如,向需要整数的单元格中输入一个字符串),则新的无效值将替换为旧值.这种输入验证是自动完成的,不能进行自定义. 另一种的输入验证可用于拒绝任何不可接受的数据,例如,在必须大于或等于 1 的字段中输入 0,或者一个不合适的字符串.这是在数据集中通过编写 DataTable.Co

js验证输入是否为手机号码

 使用js验证输入是否为手机号码或电话号码,下面有个不错的示例,感兴趣的朋友可以参考下 代码如下:  代码如下: <script type="text/javascript">  String.prototype.Trim = function() {  var m = this.match(/^s*(S+(s+S+)*)s*$/);  return (m == null) ? "" : m[1];  }  String.prototype.isMobi

springmvc-新手求教、帮我看看这个登录代码错在哪里了、输入的用户名对但就是跳不过去,老是返回到登录页面

问题描述 新手求教.帮我看看这个登录代码错在哪里了.输入的用户名对但就是跳不过去,老是返回到登录页面 public class LoginController extends BaseController { @Resource private LoginService loginService; @RequestMapping("login.do") public String login(HttpServletRequest request, HttpServletResponse

长度偶数-Extjs怎样验证输入的长度为偶数

问题描述 Extjs怎样验证输入的长度为偶数 Extjs怎样验证输入的长度为偶数 请问有什么方法可以实现呢 解决方案 获得里面内容的length 解决方案二: 自己添加vtype类型,设置vtype为你新增的就行 Ext.apply(Ext.form.field.VTypes, { isEven: function(val, field) { return val.length%2==0; }, isEvenText: '长度为偶数' }); Ext.create('Ext.form.Panel

js键盘上下左右(方向键)事件 和 正则表达式怎么使用,我想把输入的011变成11

问题描述 js键盘上下左右(方向键)事件 和 正则表达式怎么使用,我想把输入的011变成11 在单元格中按上下左右快捷键移动, 正则表达式怎么使用,我想把输入的011变成11,求大神们帮忙解决一下 解决方案 js键盘上下左右(方向键)事件