比较数据库值忽略重复的空格

时间:2014-01-23 11:22:27

标签: asp.net sql-server tsql

我的网页包含字段Patient Name。输入名称后,它会从sql database获取数据,并显示在文本框中输入的成员的agerelation

现在的问题是,如果在数据库中输入数据时间距出错,它会返回零行。

例如

如果数据库包含名称Suresh Patel,即由于数据输入操作符的错误导致姓名和姓氏之间有两个空格,我在文本框Suresh Patel中输入,即姓名与姓氏之间的单个空格,它不返回Suresh的年龄和关系,因为数据库和文本框中的值由于数据库值的额外间距而不匹配。

我需要您的帮助,以便在比较文本框和数据库时找到排除ALL空格的方法。

2 个答案:

答案 0 :(得分:0)

我建议您,在插入成员名称时,您可以使用正则表达式验证器进行完全匹配。正则表达式下面不允许开头和结尾的空格,也不允许在字符串中间有两个连续的空格。也可以看看 http://msdn.microsoft.com/en-us/library/ff650303.aspx

regex = re.compile(
    """^          # Start of string
    (?![ ])       # Assert no space at the start
    (?!.*[ ]{2})  # Assert no two spaces in the middle
    (?!.*[ ]$)    # Assert no space at the end
    [A-Z. ]{8,20} # Match 8-20 ASCII letters, dots or spaces
    $             # End of string""", 
    re.IGNORECASE | re.VERBOSE)

<asp:RegularExpressionValidator runat="server" ErrorMessage="RegularExpressionValidator"></asp:RegularExpressionValidator>

答案 1 :(得分:0)

您可以用一个空格替换多个空格。

您可以使用以下代码更新数据库:

string name = "ali  reza"; //get name from data base
name = Regex.Replace(name, @"\s+", " ");