Forumda yenilikler devam etmektedir , çalışmalara devam ettiğimiz kısa süre içerisinde güzel bir görünüme sahip olduk daha iyisi için lütfen çalışmaların bitmesini bekleyiniz. Tıkla ve Git
x

Son konular

Vergi Kimlik No Doğrulama Algoritması

Vergi Kimlik No Doğrulama Algoritması
0
96

ahmet0135

FD Üye
Katılım
Nis 13, 2018
Mesajlar
3,764
Etkileşim
87
Puan
48
F-D Coin
0
Vergi Kimlik No Doğrula,
Vergi Kimlik No Doğrulama Algoritması,
Vergi Kimlik No Doğrulama


Vergi Kimlik No Doğrulama SQL Fonksiyonu

Bu kucuk SQL fonksiyonunu Vergi Kimlik No’ların doğru olup olmadığını sorgulamak icin kullanabilirsiniz Kullanım şekli;

IF dboFNVKNODOGRUMU(1111111111) 1
PRINT 'DOGRU VERGI KIMLIK NO'
ELSE
PRINT 'YANLIS VERGI KIMLIK NO'Bu kodları kullanarak rahatlıkla fonksiyonun C# versiyonunu da hazırlayabilirsiniz

CREATE FUNCTION dboFNVKNODOGRUMU(@VKNO VARCHAR(10))
RETURNS BIT
BEGIN
DECLARE
@VLASTDIGIT SMALLINT,
@V1 SMALLINT,
@V2 SMALLINT,
@V3 SMALLINT,
@V4 SMALLINT,
@V5 SMALLINT,
@V6 SMALLINT,
@V7 SMALLINT,
@V8 SMALLINT,
@V9 SMALLINT,
@V11 SMALLINT,
@V22 SMALLINT,
@V33 SMALLINT,
@V44 SMALLINT,
@V55 SMALLINT,
@V66 SMALLINT,
@V77 SMALLINT,
@V88 SMALLINT,
@V99 SMALLINT,
@TOPLAM SMALLINT,
@R Bit

SET @V1 (CAST(SUBSTRING(@VKNO,1,1) AS SMALLINT) + 9) % 10
SET @V2 (CAST(SUBSTRING(@VKNO,2,1) AS SMALLINT) + 8) % 10
SET @V3 (CAST(SUBSTRING(@VKNO,3,1) AS SMALLINT) + 7) % 10
SET @V4 (CAST(SUBSTRING(@VKNO,4,1) AS SMALLINT) + 6) % 10
SET @V5 (CAST(SUBSTRING(@VKNO,5,1) AS SMALLINT) + 5) % 10
SET @V6 (CAST(SUBSTRING(@VKNO,6,1) AS SMALLINT) + 4) % 10
SET @V7 (CAST(SUBSTRING(@VKNO,7,1) AS SMALLINT) + 3) % 10
SET @V8 (CAST(SUBSTRING(@VKNO,8,1) AS SMALLINT) + 2) % 10
SET @V9 (CAST(SUBSTRING(@VKNO,9,1) AS SMALLINT) + 1) % 10
SET @VLASTDIGIT CAST(SUBSTRING(@VKNO,10,1) AS SMALLINT)

SET @V11 (@V1 * 512) % 9
SET @V22 (@V2 * 256) % 9
SET @V33 (@V3 * 128) % 9
SET @V44 (@V4 * 64) % 9
SET @V55 (@V5 * 32) % 9
SET @V66 (@V6 * 16) % 9
SET @V77 (@V7 * 8) % 9
SET @V88 (@V8 * 4) % 9
SET @V99 (@V9 * 2) % 9

IF @V1 ! 0 AND @V11 0 SET @V11 9
IF @V2 ! 0 AND @V22 0 SET @V22 9
IF @V3 ! 0 AND @V33 0 SET @V33 9
IF @V4 ! 0 AND @V44 0 SET @V44 9
IF @V5 ! 0 AND @V55 0 SET @V55 9
IF @V6 ! 0 AND @V66 0 SET @V66 9
IF @V7 ! 0 AND @V77 0 SET @V77 9
IF @V8 ! 0 AND @V88 0 SET @V88 9
IF @V9 ! 0 AND @V99 0 SET @V99 9

SET @TOPLAM @V11 + @V22 + @V33 + @V44 + @V55 + @V66 + @V77 + @V88 + @V99
IF @TOPLAM %10 0
BEGIN
SET @TOPLAM 0
END
ELSE
BEGIN
SET @TOPLAM (10 (@TOPLAM %10))
END

IF @TOPLAM @VLASTDIGIT
SET @R 1 DOĞRU
ELSE
SET @R 0 YANLIŞ

RETURN @R

END

Alıntıdır
 
858,497Konular
982,558Mesajlar
30,299Kullanıcılar
OxCatSon üye
Üst Alt