Thursday, December 30, 2010

XML

Public Shared Sub EscribeLog(ByRef servicio As ServiciosADAM, ByVal reporte As String, ByVal ruta As String, ByVal htDescripcion As Hashtable)
        Dim sql As String
        Dim diccionario As IDictionaryEnumerator
        Dim strBuilder As New System.Text.StringBuilder
        Dim writerSettings As New System.Xml.XmlWriterSettings()
        ' Crear diccionario para poder ser recorrido en la generación de la cadena XML
        diccionario = htDescripcion.GetEnumerator
        ' Crear cadena XML
        With writerSettings
            .Indent = True
            .IndentChars = New String(" "c, 4)
        End With
        Dim writer As System.Xml.XmlWriter = System.Xml.XmlWriter.Create(strBuilder, writerSettings)
        With writer
            .WriteStartElement("Descripcion")
            ' Agregar los componentes del diccionario
            While diccionario.MoveNext
                .WriteElementString(diccionario.Key, diccionario.Value)
            End While
            .WriteEndElement()
        End With
        writer.Flush()
        writer.Close()
        ' Eliminar la primera linea de la cadena XML
        Dim cadenaSaltoLinea As String() = Split(strBuilder.ToString(), vbNewLine)
        Dim descripcion As String
        descripcion = String.Join(vbNewLine, cadenaSaltoLinea, 1, cadenaSaltoLinea.Length - 1)
        ' Llamar al procedimiento almacenado
        Try
            sql = "EXEC " & spLogNameEcuador & " "
            sql += "'" & reporte & "', "
            sql += "'" & ADAM.Framework.Windows.ConexionActual.Usuario & "', "
            sql += "'" & ruta & "', "
            sql += "'" & descripcion & "'"
            If (servicio.ejecutaConsulta(sql, ConexionActual.conexionBD) <> 1) Then
                Throw New Exception("La generación del reporte no pudo ser registrada en el log de la base de datos.")
            End If
        Catch ex As Exception
            MuestraErrorAdam(ex)
        End Try
End Sub






---------------------------
VB.NET

For Each dr As Janus.Windows.GridEX.GridEXRow In gridTrabajadores.GetCheckedRows()
            trabajador = dr.Cells("trabajador").Value
            trabajadoresXML += ""
        Next


        Try
            sql = "EXEC "
            sql += Constantes.pe_fpv5_sp_obten_Afp
            sql += " '" + cboCompania.Value + "', "
            sql += " '" + trabajadoresXML + "', "
            sql += cboAnio.Value.ToString() + ", "
            sql += cboPeriodo.Value.ToString()
            DsRepAFPExcel = Servicio.fillConsultaSQL(sql, ADAM.Framework.Windows.ConexionActual.conexionBD)



SQL

-- SELECT trabajador = T.item.value('@trabajador', 'char(10)')
-- FROM   @lsTrabajadorLista.nodes('/info') AS T(item) 






otras paginas
http://www.expert.tc/topic.php?id=128240
http://www.codeguru.com/csharp/csharp/cs_data/xml/article.php/c4227
http://www.codeguru.com/csharp/csharp/cs_data/xml/article.php/c4227
http://social.msdn.microsoft.com/Forums/en/sqlxml/thread/357feaac-892b-4aa9-92f6-9f07d388239f
http://msdn.microsoft.com/en-us/library/ms345110(v=sql.90).aspx