打印本文 打印本文 关闭窗口 关闭窗口
ADO数据与XML数据间的转换的类(ASP实现)
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2264  更新时间:2009/4/23 10:50:36  文章录入:mintao  责任编辑:mintao
nbsp;
End Sub


''''*****************************************************
'''' 函数: GetImportSQL(ByRef p_oDataBase)
'''' 描述: 获得将XML数据转换为SQL后的字符串
'''' 参数: 
''''   p_oDataBase  : XML文件的根节点
''''
''''*****************************************************
Private Function GetImportSQL(ByRef p_oDataBase)
 Dim oTable, oRow, oDatas, oData
 Dim sColNames, sColValues
 Dim sColName
 Dim sSQL, sTransactionSQL


 sSQL = ""

 For Each oTable In p_oDataBase.childNodes 
 
  For Each oRow In oTable.childNodes     

    Set oDatas = oRow.selectNodes("@*")

    sColNames = ""
    sColValues = ""

    For Each oData In oDatas

     sColName = oData.nodeName

     If ( Instr( Lcase(Cstr(m_sVacancyCols)), Lcase(Cstr("," & sColName & ",")) ) < 1) Then
      sColNames = sColNames & sColName & ", " 
      sColValues = sColValues & "''''" & oData.nodeValue & "'''', "      
     End If
 
    Next

    sColNames = "(" & Left(sColNames,Len(sColNames)-2) & ") "
    sColValues = "(" & Left(sColValues,Len(sColValues)-2) & ") "

    sSQL = sSQL & " Insert Into " & oTable.nodeName
    sSQL = sSQL & " " & sColNames & " Values " & sColValues & " ;  "

  Next

 Next

 Set oData = Nothing
 Set oDatas = Nothing
 Set oRow = Nothing
 Set oTable = Nothing

 sTransactionSQL = "Set Xact_Abort On; "
 sTransactionSQL = sTransactionSQL & " Begin Transaction; "
 sTransactionSQL = sTransactionSQL & sSQL
 sTransactionSQL = sTransactionSQL & " Commit Transaction; "
 sTransactionSQL = sTransactionSQL & " Set Xact_Abort Off; "

 GetImportSQL = sTransactionSQL
End Function

''''============================= 数据导入 End =============================


''''*****************************************************
'''' 函数: GetErrExegesis(ByRef p_nErrCode)
'''' 描述: 获得错误代码的注释
'''' 参数: 
''''   p_oDataBase  : XML文件的根节点
''''
''''*****************************************************
Public Function GetErrExegesis(ByRef p_nErrCode)
 Dim sExegesis
 Dim nErrCode

 nErrCode = Cint(p_nErrCode)
 
 Select Case (nErrCode)

  Case m_nErrCode_NotErr
   sXSLStr = "运行成功!"

  Case m_nErrCode_NotArray
   sXSLStr = "属性: SQL语句数组 不正确!"

  Case m_nErrCode_XMLDOM
   sXSLStr = "不能创建XML文档,服务器必须支持MSXML!"

  Case m_nErrCode_ReadData
   sXSLStr = "读取数据库数据发生错误! " & "<BR>"
   sXSLStr = sXSLStr & " 请检查 " & " "
   sXSLStr = sXSLStr & "1.数据库是否已连接 " & " "
   sXSLStr = sXSLStr & "2.语句是否正确 "

  Case m_nErrCode_WriteData
   sXSLStr = "写入数据库数据发生错误! " & "<BR>"
   sXSLStr = sXSLStr & " 请检查 " & " "
   sXSLStr = sXSLStr & "1.数据库是否已连接 " & " "
   sXSLStr = sXSLStr & "2.SQL语句是否正确 " & "<BR>"
   sXSLStr = sXSLStr & "SQL语句 " & "<BR><BR>"
   sXSLStr = sXSLStr & "" & m_sImportSQL
   
  Case m_nErrCode_Save
   sXSLStr = "不能保存XML文档,请检查是否对该目录或文件有'''' 写入权限 '''' !"

  Case m_nErrCode_EnsFile
   sXSLStr = "不能读取XM数据,XML文件不存在 '''' !"
   sXSLStr = sXSLStr & "文件:" & m_sXMLFile
   

  Case m_nErrCode_ErrFile
   sXSLStr = "不能读取XM数据,XML文件格式错误 '''' !"
   sXSLStr = sXSLStr & "文件:" & m_sXMLFile
 
  Case Else
   sXSLStr = "未知错误 !"

 End Select
 

 GetErrExegesis = "<BR>" & sXSLStr & "<BR>"
 
End Function

End Class
%>

上一页  [1] [2] [3] 

打印本文 打印本文 关闭窗口 关闭窗口