我用数据库保存用户的用户名和密码,并且通过查找有没有相符合条件的记录来判断用户是否合法,但是怎么大小写都行啊?难道access判断字符串想不相同不区分大小写吗?

解决方案 »

  1.   

    为了进行密码对比(区分大小写),你可以使用strcomp函数,假设str1是数据库表中存储的密码字符,str2是用户输入的密码字符,如果strcomp(str1,str2,0)<>0那么表示密码不正确,否则表示密码通过。楼主可以试试。
      

  2.   

    为了进行密码对比(区分大小写),你可以使用strcomp函数,假设str1是数据库表中存储的密码字符,str2是用户输入的密码字符,如果strcomp(str1,str2,0)<>0那么表示密码不正确,否则表示密码通过。楼主可以试试。
      

  3.   

    StrComp
    Returns a value indicating the result of a string comparison. Syntax
    StrComp(string1, string2[, compare])The StrCompsyntax has these arguments:Part Description 
    string1 Required. Any valid string expression. 
    string2 Required. Any valid string expression. 
    compare Optional. Numeric value indicating the kind of comparison to use when evaluating strings. If omitted, a binary comparison is performed. See Settings section for values. 
    Settings
    The compare argument can have the following values:Constant Value Description 
    vbBinaryCompare 0 Perform a binary comparison. 
    vbTextCompare 1 Perform a textual comparison. 
    vbDatabaseCompare 2 Not supported. 
    Return Values
    The StrComphas the following return values:If StrComp returns 
    string1 is less than string2 -1 
    string1 is equal to string2 0 
    string1 is greater than string2 1 
    string1 or string2 is Null Null 
      

  4.   

    关于strcomp函数可以参考astroboy(清风)的英文说明
    如果不懂英文我可以给下面一个中文参考:语法:strcomp(str1,str2[,compare])作用:返回一个标志字符比较结果的标志值。其中str1和str2是必须的任何有效的字符串表达式,compare是可选参数,表示进行字符比较(评测)的类型选项,是常数,如果省略,将进行二进制比较,它的设置值可以:设为vbBinaryCompare(0)表示执行一个二进制比较(这种比较可以区分大小写,我给你的建议中就是用到了这种比较),设为vbTextCompare(1)表示执行一个按照原文的文本方式比较(这时候将不会区分大小写,比如:A和a就认为是同一个字符),vbDatabaseCompare(2)不支持.
    返回值说明:1 str1小于str2,则返回-1
                2 str1等于str2,则返回0(这正是我给你的建议中用到的)
                3 str1大于str2,则返回1
                4 str1或str2为空(null),则返回空值(null)
       不知我的翻译是否曲解了astroboy(清风)的意思,如果有错,还望多多见谅!!
      

  5.   

    我是这样认为的:
          1.可以在保存的时候将字符转换成相对应的ASC码的字符串,将其保存在数据库里面;
          2.以后登录的时候现将密码转换为相对应的ASC码的字符串比较,就可以了
      虽然有点麻烦,但是与其他的都不一样.
      呵呵,接分。
      

  6.   

    小弟认为,如果要进行区分大小写的比较的话,用strcomp函数是最方便的,因为在判断时只须一句代码就解决问题了,而不管数据库中存了些什么密码(无论是否包含特殊字符)。
      

  7.   

    我个人人为还是用strcompare来的好,直接.转化asc可以是可以,不过太麻烦了
      

  8.   

    在保存是,用户名和密码全部转为大写.
    用一个RS打开下面的语句.
    SELECT * FROM [USERTABLE] WHERE USERNAME=ucase('用户名') AND USERPWD=ucase('用户密码')
    然后RS是否有记录
    IF NOT(RS.EOF AND RS.BOF) THEN
       '存在该用户
    ELSE
       '不存在该用户.
    END IF
      

  9.   

    呵呵~楼主真是很专业!!!
    好象很多软件用户登陆验证都不分大小写的哦~大名鼎鼎的MS OUTLOOK亦如此~