<%
dim cn,rs,driver_name
driver_name="Provider=MSDAORA.1;Password=pass;User ID=user;Data Source=afis;Persist Security Info=True"
set cn = server.CreateObject("adodb.connection")
cn.open driver_name
set rs=server.CreateObject("adodb.recordset")
rs.open "select * from table",cn,3,1
do while not rs.eof
response.write rs("field")
rs.movenext
loop
%>
dim cn,rs,driver_name
driver_name="Provider=MSDAORA.1;Password=pass;User ID=user;Data Source=afis;Persist Security Info=True"
set cn = server.CreateObject("adodb.connection")
cn.open driver_name
set rs=server.CreateObject("adodb.recordset")
rs.open "select * from table",cn,3,1
do while not rs.eof
response.write rs("field")
rs.movenext
loop
%>
(1)十七位数字本体码加权求和公式
S = Sum(Ai * Wi), i = 0, ... , 16 ,先对前17位数字的权求和
Ai:表示第i位置上的身份证号码数字值
Wi:表示第i位置上的加权因子
Wi: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2(2)计算模
Y = mod(S, 11)(3)通过模得到对应的校验码
Y: 0 1 2 3 4 5 6 7 8 9 10
校验码: 1 0 X 9 8 7 6 5 4 3 2
Returns Varchar(18)
As
Begin
Declare @I Int,
@Last Varchar(1),
@NewID Varchar(18)
Set @ID = Ltrim(Rtrim(@ID)) If Len(@ID) Not In (15,18)
Set @NewID = @ID
Else
Begin
Set @ID = Case Len(@ID) When 15 Then Left(@ID,6) + '19' + Right(@ID,9)
When 18 Then Left(@ID,17) End
Set @I = Cast(SubString(@ID,1,1) As Int) * 7 +
Cast(SubString(@ID,2,1) As Int) * 9 +
Cast(SubString(@ID,3,1) As Int) * 10 +
Cast(SubString(@ID,4,1) As Int) * 5 +
Cast(SubString(@ID,5,1) As Int) * 8 +
Cast(SubString(@ID,6,1) As Int) * 4 +
Cast(SubString(@ID,7,1) As Int) * 2 +
Cast(SubString(@ID,8,1) As Int) * 1 +
Cast(SubString(@ID,9,1) As Int) * 6 +
Cast(SubString(@ID,10,1) As Int) * 3 +
Cast(SubString(@ID,11,1) As Int) * 7 +
Cast(SubString(@ID,12,1) As Int) * 9 +
Cast(SubString(@ID,13,1) As Int) * 10 +
Cast(SubString(@ID,14,1) As Int) * 5 +
Cast(SubString(@ID,15,1) As Int) * 8 +
Cast(SubString(@ID,16,1) As Int) * 4 +
Cast(SubString(@ID,17,1) As Int) * 2
--Set @I = @I - @I/11 * 11
Set @I = @I%11
Set @Last = (Case @I
When 0 Then '1'
When 1 Then '0'
When 2 Then 'X'
When 3 Then '9'
When 4 Then '8'
When 5 Then '7'
When 6 Then '6'
When 7 Then '5'
When 8 Then '4'
When 9 Then '3'
When 10 Then '2'
Else '' End
)
Set @NewID = @ID + @Last
End Return @NewID
End
Password --用户口令
User ID --用户名称
Data Source --本地连接字符串