• [转]登陆时的密码大小写判断


    当密码没有加密时,数据库一般默认是大小写不区分的,这时不管你输入的是大写的还是小写的都可以登陆,刚开始用第二种方法虽然也可以解决但是是比较麻烦的.

    解决方法一:

    Alter TABLE 表名 
    Alter COLUMN 列名 varchar(
    100) COLLATE Chinese_PRC_CS_AS

    解决方法二:

    对登陆的密码大小写进行逐一判断

    ALTER FUNCTION [dbo].[StringUpperLowerValidate]
    (
    @strInput VARCHAR(
    128),
    @strExist VARCHAR(
    128
    )
    RETURNS BIT
    AS
    BEGIN
    DECLARE @position   INT 
    DECLARE @Result   BIT
    SET @position 
    = 1

    WHILE @position 
    <= DATALENGTH(@strExist)
        BEGIN
       IF( ASCII(SUBSTRING(@strExist, @position, 
    1))= ASCII(SUBSTRING(@strInput, @position, 1)))
        BEGIN
         SET @position 
    = @position + 1 
         SET @Result
    =1
        END
       ELSE
        BEGIN
         SET @Result
    =0
         
    break
        END
        END
        
    RETURN @Result

    END

    //不区分大小写(作用于表中存储的数据)
    Alter TABLE 表名
    Alter COLUMN 列名 varchar(
    100) COLLATE Chinese_PRC_CI_AS

    //区分大小写
    Alter TABLE 表名
    Alter COLUMN 列名 varchar(
    100) COLLATE Chinese_PRC_CS_AS

    //区分大小写(作用于表名、字段名……)
    alter database 数据库 collate chinese_prc_cs_as

    //不区分大小写
    alter database 数据库 collate chinese_prc_ci_as
  • 相关阅读:
    链表的快速排序算法
    浅析测试驱动
    java观察者模式的实现
    Markdown学习语法的记录
    自动化测试全聚合
    JAVA利用enum结合testng做数据驱动示例
    自动化测试关键字驱动的原理及实现
    HttpURLConnection GET/POST写法
    JAVA自动化测试中多数据源的切换
    JAVA生产者消费者的实现
  • 原文地址:https://www.cnblogs.com/freeliver54/p/1234039.html
Copyright © 2020-2023  润新知