📄 saveclientdata.asp
字号:
<script language="vbscript" runat=server>
set xmlDoc=server.CreateObject("Microsoft.XMLDOM") '创建XMLDOM IE5.5以下用Msxml2.DOMDocument
xmlDoc.load Request'加载远程提交XML文件
set xmlTitle=xmlDoc.SelectSingleNode("/实施报销单/表头[0]")'选择表头,表头只有一个节点
set xmlBody=xmlDoc.SelectNodes("/实施报销单/表体")'选择表体
Response.ContentType = "text/xml; charset=GB2312"
if xmlBody.length>0 and isnull(xmlTitle)=false then '判断XML的正确性
set Node=xmlDoc.selectSingleNode("/实施报销单/表头[0]/nOrderID")
if isnull(Node)=false then'单据号为必需字段
'打开连接
strcon="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.Mappath("Data\Data.mdb")&";Persist Security Info=False"
set cmd=server.CreateObject("adodb.command")
cmd.ActiveConnection=strcon
'先将原先的记录删除,包括主表和子表
cmd.CommandText="delete from WipeOrder where nOrderID='" & Node.text & "'"
cmd.Execute
cmd.CommandText="delete from WipeOrders where nOrderID='" &Node.text & "'"
cmd.Execute
'表头
'组织表头SQL语句
strSql="insert into wipeorder( "
strSubSql=" values( "
for i=0 to xmlTitle.childnodes.length-1
strSql=strSql & xmlTitle.childnodes(i).nodeName&" ,"
strSubSql=strSubSql&"'"& xmlTitle.childnodes(i).Text&"' ,"
next
strSql= mid(strSql,1,len(strSql)-1)& ")" & mid(strSubSql,1,len(strSubSql)-1)&")"
cmd.CommandText=strSql
cmd.Execute '插入表头数据
'表体
for i=0 to xmlBody.length-1
'组织表体的SQL语句
strSql="insert into wipeorders(nOrderID, "
strSubSql=" values('" & Node.text& "',"
set xmlChildBody=xmlDoc.SelectSingleNode("/实施报销单/表体["&i&"]")'得到第i个表体节点
for j=0 to xmlChildBody.childnodes.length-1 '遍历第i个表体节点的所有子节点
strSql=strSql & xmlChildBody.childnodes(j).nodeName&" ,"
strSubSql=strSubSql&"'"& xmlChildBody.childnodes(j).Text&"' ,"
next
strSql= mid(strSql,1,len(strSql)-1)& ")" & mid(strSubSql,1,len(strSubSql)-1)&")"
cmd.CommandText=strSql
cmd.Execute '插入表体数据
next
set cmd=nothing'清空对象
Response.Write "保存成功!" '返回成功信息
else
Response.Write "没有单据号,保存不成功!" '返回错误信息
end if
else
Response.Write "XML数据有误,不能被解析,保存不成功!" '返回错误信息
end if
</script>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -