| 搜索频道 | 源码下载 | 站长代码论坛 | 文章分类 | 最新专题 | 源码交易 | 加入收藏
首页|资讯|图形图像|网站开发|程序设计|数据库|多媒体|机械电子|办公系列|路由技术|原理|应用|考试|系统
文章搜索:
 您的位置:首页网站开发XML → 用ASP、VB和XML建立互联网应用程序
用ASP、VB和XML建立互联网应用程序

日期:2006-7-12 11:29:48 人气:     [ ]
上一页 [1] [2] [3] [4] 下一页

Set N = xml.selectSingleNode("response/data")
If Not N Is Nothing Then
  MsgBox N.Text
  Exit Function
Else
  MsgBox xml.xml
  Exit Function
End If
  End If
End Function

 

Function getData(sXML As String) As DOMDocument
  Dim xhttp As New XMLHTTP30
  xhttp.Open "POST", dataURL, False
  xhttp.send sXML
  Debug.Print xhttp.responseText
  Set getData = xhttp.responseXML
End Function

Private Sub optAction_Click(Index As Integer)
  Call dgCustomers_Click
End Sub

代码二、getData.asp

 <%@ Language=VBScript %>
  <% option explicit %>
  <%
Sub responseError(sDescription)
Response.Write "<response><data>Error: " & sDescription & "</data></response>"
Response.end
  End Sub

 Response.ContentType="text/xml"
  dim xml
  dim commandText
  dim returnsData
  dim returnsValues
  dim recordsAffected
  dim param
  dim paramName
  dim paramType
  dim paramDirection
  dim paramSize
  dim paramValue
  dim N
  dim nodeName
  dim nodes
  dim conn
  dim sXML
  dim R
  dim cm

  ' 创建DOMDocument对象
  Set xml = Server.CreateObject("msxml2.DOMDocument")
  xml.async = False

 ' 装载POST数据
  xml.Load Request
  If xml.parseError.errorCode <> 0 Then
Call responseError("不能装载 XML信息。 描述: " & xml.parseError.reason & "<br>行数: " & xml.parseError.Line)
  End If

 ' 客户端必须发送一个commandText元素
  Set N = xml.selectSingleNode("command/commandtext")
  If N Is Nothing Then
Call responseError("Missing <commandText> parameter.")
  Else
commandText = N.Text
  End If

 ' 客户端必须发送一个returnsdata或者returnsvalue元素
  set N = xml.selectSingleNode("command/returnsdata")
  if N is nothing then
set N = xml.selectSingleNode("command/returnsvalues")
if N is nothing then
  call responseError("Missing <returnsdata> or <returnsValues> parameter.")
else
  returnsValues = (lcase(N.Text)="true")
end if
  else
returnsData=(lcase(N.Text)="true")
  end if


 

 set cm = server.CreateObject("ADODB.Command")
  cm.CommandText = commandText
  if instr(1, commandText, " ", vbBinaryCompare) > 0 then
cm.CommandType=adCmdText
  else
cm.CommandType = adCmdStoredProc
  end if

 ' 创建参数
  set nodes = xml.selectNodes("command/param")
  if nodes is nothing then
' 如果没有参数
  elseif nodes.length = 0 then
  ' 如果没有参数
  else
  for each param in nodes
' Response.Write server.HTMLEncode(param.xml) & "<br>"
on error resume next
paramName = param.selectSingleNode("name").text
if err.number <> 0 then
  call responseError("创建参数: 不能发现名称标签。")
end if
paramType = param.selectSingleNode("type").text
paramDirection = param.selectSingleNode("direction").text
paramSize = param.selectSingleNode("size").text
paramValue = param.selectSingleNode("value").text
if err.number <> 0 then
call responseError("参数名为 '" & paramName & "'的参数缺少必要的域")
end if
cm.Parameters.Append  cm.CreateParameter(paramName,paramType,paramDirection,paramSize,paramValue)
if err.number <> 0 then
  call responseError("不能创建或添加名为 '" & paramName & "的参数.' " & err.description)
  Response.end
end if
  next
  on error goto 0
end if

 '打开连结
  set conn = Server.CreateObject("ADODB.Connection")
  conn.Mode=adModeReadWrite
  conn.open Application("ConnectionString")
  if err.number <> 0 then
call responseError("连结出错: " & Err.Description)
Response.end
  end if

' 连结Command对象
set cm.ActiveConnection = conn

' 执行命令
if returnsData then
  ' 用命令打开一个Recordset
set R = server.CreateObject("ADODB.Recordset")
R.CursorLocation = adUseClient
R.Open cm,,adOpenStatic,adLockReadOnly
else
cm.Execute recordsAffected, ,adExecuteNoRecords
end if
  if err.number <> 0 then
call responseError("执行命令错误 '" & Commandtext & "': " & Err.Description)
Response.end
  end if

 if returnsData then
R.Save Response, adPersistXML
if err.number <> 0 then
  call responseError("数据集发生存储错误,在命令'" & CommandText & "': " & Err.Description)
  Response.end
end if
  elseif returnsValues then
sXML = "<?xml version=""1.0"" encoding=""gb2312""?>" & vbcrlf & "<values>"
set nodes = xml.selectNodes("command/param[direction='2']")
for each N in nodes
  nodeName = N.selectSingleNode("name").text
  sXML = sXML & "<" & nodename & ">" & cm.Parameters(nodename).Value & "" & "</" & nodename & ">"
  next
  sXML = sXML & "</values>"
  Response.Write sXML
  end if

 set cm = nothing
  conn.Close
  set R = nothing
  set conn = nothing
  Response.end
%>

上一页 [1] [2] [3] [4] 下一页
出处:本站原创 作者:zzcode
 相关文章
·湖北管局启动互联网服务市场专项治理工作
·四川管局出新招 七大举措强化互联网管理
 相关软件
·WaStar 互联网产品销售系统 v3.0.5
·互联网竞争情报智能收集和处理系统(CISnet) v2.0..
 

 热点文章

·XML新增批注、处理指令..
·用ASP、VB和XML建立互..
·XML 中的常见问题
·带可选项、带图片的无..
·将XML文件链接至HTML网..
·用XML实现国家、省的动..
·构造未来Web页面的工具..
·简单的XML留言板
·web.xml中的 security..
·使用xmlhttp 实现多文..
·XML与其相关技术
·简析JAVA的XML编程
·利用XML不离开页面刷新..
·SQL Server和XML的集成..
·修改大型 XML 文件的有..

 推荐文章

·端午非物质文化遗产登..
·动态网站Web开发PHP、..
·PS绘中秋佳节的一轮明..
·细谈网页优化和网站优..
·建站常识:如何使用FT..
·如何快速建造一个成功..
·ASP.NET 2.0 中的创建..
·ASP.NET2.0服务器控件..
·在ASP.NET应用中插入f..
·用Photoshop打造逼真立..
·Windows 2003搭建虚拟..
·站长必读:Web创业的1..
·如何测试机房的速度和..
·北京奥运体育图标发布..
·网络视频广告将身价百..