新秀首页
百科首页 | 生活技巧 | 烹饪美食 | 购物打折 | 装饰装修 | 法律常识 | 日常保健 | 寻医问药 | 心理健康 | 生儿育女 | 恋爱婚姻 | 亲子教育 | 职场纵横 | 培训考试
电脑常识 | 租房买房 | 居家理财 | 股票证券 | 家庭保险 | 美容化妆 | 数码常识 | 服饰搭配 | 健身运动 | 购车养车 | 旅游休闲 | 影视娱乐 | 爱宠天地 | 花鸟鱼虫
本文相关内容
有谁听过&nbspOH&nbspI&nbsp这首歌吗
多普达575&nbsp支持FM吗?
sh163.net&nbspoutlook&nbsp怎么设置?
怎么学习好VC++&nbsp?
什么是乖离率 BIAS?
出售游戏点卡&nbspQ币的广告怎么做最好
什么是asp?asp是什么意思?是一种程序还是一种语言?
Lou&nbspreed的碟哪里可以买到?
Windows XP如何禁用Gutes这个帐户?
能查看FLASH占用的像素位置大小吗?
WIN XP下如何进入纯DOS系统?
怎么都看不了asx格式的电影?
mp4手机能看Flash动画吗?
怎样恢复2000SP4网上邻居图标?
服务Computer Browser有用吗?
请问身高175-185的 标准体重各是多少?
NBA LIVE2005 安装后为什么还是英文版的呢?
哪里下载flashmx这个软件?
我需要FLASH的动画谁有?
我用iis做的网站,以前别人可以访问,在我装了asp.net2.0。
用asp将ACCESS数据库中15位和18位身份证号批量转换为18位

数据库中有3千多条数据,其中有1千多为15位身份证号。现需要将其中15位的转换为18位的。要用asp批量处理,1千多条,一条一条处理太慢了。
要详细的asp处理方法 或者例子,是ADODB连的数据库,一般的程序都是这,虚拟主机用不了ODBC的

----------------------------------------------------------------------

rs.open sql,conn,0,2  '打开修改权限
do while not rs.eof
rs("身份证号码")=转换模块(传入rs("身份证号码"))
rs.update '更新
rs.movenext
loop
rs.close

--------------------------------------------------------

rs.open sql,conn,0,2  '打开修改权限
do while not rs.eof
if len(rs("身份证号码"))=15 then
'15位的才更新
rs("身份证号码")=转换模块(传入rs("身份证号码"))
rs.update '更新
end if
rs.movenext
loop
rs.close


--------------------------------------------------------

<!--#include file=conn.asp-->
<%
Function GetNewIDCard(IDCard)
Dim i,S,Wi,Wf,result
Wi= split("7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2",",",-1,1)
Wf= Split("1,0,X,9,8,7,6,5,4,3,2", ",",-1,1)
IDCard = Mid(IDCard, 1, 6) & "19" & Mid(IDCard, 7, 9)
S=0
For i = 0 To ubound(wi)
S = cint(Wi(i)) *cint(Mid(IDCard, i + 1, 1)) +S
Next
GetNewIDCard=IDCard & Wf(S Mod 11)
End Function

dim rs
set rs=server.CreateObject("ADODB.RecordSet")
rs.open "select * from admin1"
rs.open sql,conn,0,2  '打开修改权限
do while not rs.eof
if len(rs("number"))=15 then
'15位的才更新
rs("number")=GetNewIDCard(IDCard)
rs.update '更新
end if
rs.movenext
loop
rs.close
%>

有什么错误的地方吗?

--------------------------------------------------------

如果要性能就应该再 Access 中进行:
①再 Access 的宏编辑器中添加一个模块,里面添加一个函数
public function ID15To18(byval id as string) as string
    ...
end function
Access 的好处就是函数 ID15To18 现在可以在 SQL 中使用了

②之间用 Access 的更新查询或 ASP 中执行以下 SQL 就成了
Update table1 Set 身份证号码=ID15To18(身份证号码)

--------------------------------------------------------

不会在access中做啊
Tiger_Zhao发的我一点也看不懂
而且数据库不段新增号码 新号码有15的也有18的
数据库在虚拟主机上
用asp的话方便些

--------------------------------------------------------

to: Tiger_Zhao(VB老鸟)
access模块中自定义函数只能在access环境中使用吧?

--------------------------------------------------------

vbman2003(家人) ( ) 信誉:100 

可以在VB中调用的,至少dao中可以。

--------------------------------------------------------

用VB+ADO测试了一下,不行,错误提示:“表达式中xxxx函数末定义......”

生活百科 为人民服务