zoukankan      html  css  js  c++  java
  • 登陆时的密码大小写判断

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

    解决方法一:

    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
  • 相关阅读:
    大屏展示功能
    单例模式/原型模式
    .net core ioc
    Log4net
    mvc 过滤器
    webservice
    页面传值 作用域
    Map使用方法
    java获取当前时间撮
    linux 下统计文本行数的各种方法(一)
  • 原文地址:https://www.cnblogs.com/datong/p/1115992.html
Copyright © 2011-2022 走看看