TSQL Tc Kimlik Kontrol İşlemi Nasıl Yapılır

  1. Bad Code
    3
    2474
    23.02.2019 16:51:00

    Merhabalar Tsql ile kullanıcıdan aldığım tc bilgisini kontrol etmek ve geçerli olup olmadığını test etmek istiyorum. Fonksiyon yardımı ile nasıl yapabilirim ?

    sql sql-server 2 yıl önce 724 Görüntüleme

( 2 ) Cevap

  1. ali
    5
    ali
    6418
    23.02.2019 16:55:00

    Aşağıdaki tsql fonksiyon ile doğruluğunu test edebilirsin. Ama unutmaki bu bir algoritmik testtir. Bu şarta uygun olup olmadığını kontrol eder. O tc bilgisinin ilgili kişiye ait olup olmadığını göstermez.

    CREATE FUNCTION [dbo].[CHECK_KIMLIK](@TcKimlikNo Bigint)
    
    RETURNS BIT
    
    AS
    
    BEGIN
    
    DECLARE @ATCNO Bigint
    ,@BTCNO Bigint
    ,@N1 Tinyint
    ,@N2 Tinyint
    ,@N3 Tinyint
    ,@N4 Tinyint
    ,@N5 Tinyint
    ,@N6 Tinyint
    ,@N7 Tinyint
    ,@N8 Tinyint
    ,@N9 Tinyint
    ,@Q1 Int
    ,@Q2 Int
    
    ,@SONUC Bit       
    
    SELECT @ATCNO = @TcNo / 100 ,@BTCNO = @TcNo / 100       
    
    IF LEN(CONVERT(VARCHAR(19),@TcNo)) = 11
    
    BEGIN
    
        SELECT @N1 = @ATCNO % 10 , @ATCNO = @ATCNO / 10
        ,@N2 = @ATCNO % 10 , @ATCNO = @ATCNO / 10
        ,@N3 = @ATCNO % 10 , @ATCNO = @ATCNO / 10
        ,@N4 = @ATCNO % 10 , @ATCNO = @ATCNO / 10
        ,@N5 = @ATCNO % 10 , @ATCNO = @ATCNO / 10
        ,@N6 = @ATCNO % 10 , @ATCNO = @ATCNO / 10
        ,@N7 = @ATCNO % 10 , @ATCNO = @ATCNO / 10
        ,@N8 = @ATCNO % 10 , @ATCNO = @ATCNO / 10
        ,@N9 = @ATCNO % 10 , @ATCNO = @ATCNO / 10
        ,@Q1 = ((10-((((@[email protected][email protected][email protected][email protected])*3)+(@[email protected][email protected][email protected])) % 10))%10)
        ,@Q2 = ((10-(((((@[email protected][email protected][email protected])[email protected])*3)+(@[email protected][email protected][email protected][email protected]))%10))%10)       
    
        IF (@BTCNO * 100)+(@Q1 * 10)[email protected] = @TcNo SET @SONUC = 1 ELSE SET @SONUC = 0
    END
    ELSE SET @SONUC = 0    
    RETURN @SONUC
    END 
    GO
    
  2. evren.gokdemir
    -2
    364
    26.02.2019 15:47:00

    Ali Bey paylaşım için teşekürler

    • askinglr34 teşekkür etme , detay verme , soru veya cevap ile ilgili bir şey sorma gibi şeyleri lütfen yorumlara yazalım

    • mfatih bu tarz şeyleri cevaplara değilde ,cevabın yada sorunun yorumlar kısmına yazalım

    • Yorum Ekleyin

Cevabınız