'exportamos el archivo de metadatos para PDF libro
Public Sub ExportToMetaPDF()
Dim s As String
Dim f As ResultField
Dim fb As ResultField
Dim aFields As New String[]
Dim bFields As New String[]
Dim w As Integer
Dim wb As Integer
Dim buscar As String
Dim buscarAutor As String
Dim outputFile As String
'me conceto a la base de datos
Conn = Mod_Conn.conectar()
buscar = "select * from metadatos where nombreArchivo like '%" & rutaNAME & "%'"
' Exportar el registro seleccionado
Contenido = Conn.Exec(buscar)
aFields.Clear
For Each f In Contenido.Fields
aFields.Add(f.Name)
If Len(f.Name) > w Then
w = Len(f.Name)
Endif
Next
' Obtener los IDs separados por espacios
Dim ids As String[] = Split(Contenido[aFields[5]], " ")
' Iterar sobre los IDs y obtener la información correspondiente
For Each id In ids
buscarAutor = "SELECT * FROM autores WHERE id = " & id
ContenidoAutor = Conn.Exec(buscarAutor)
bFields.Clear
For Each fb In ContenidoAutor.Fields
bFields.Add(fb.Name)
If Len(fb.Name) > wb Then
wb = Len(fb.Name)
Endif
Next
s = "" ' Inicializa la cadena vacía
' Agregar la información al resultado
s &= ContenidoAutor[bFields[2]] & " " & ContenidoAutor[bFields[1]] & ", "
Next
' Eliminar la coma adicional al final y cerrar la cadena
s = Left(s, Len(s) - 2) & "},\n"
' trabajando con un solo Id este código funciona sin problemaas
' buscarAutor = "select * from autores where id = " & Contenido[aFields[5]]
'
' ' Exportar el registro seleccionado
' ContenidoAutor = Conn.Exec(buscarAutor)
'
' bFields.Clear
' For Each fb In ContenidoAutor.Fields
' bFields.Add(fb.Name)
' If Len(fb.Name) > wb Then
' wb = Len(fb.Name)
' Endif
' Next
While Contenido.Available
s &= "\\hypersetup" & "{" & "\n"
If Not IsNull(Contenido[aFields[2]]) And Len(Contenido[aFields[2]]) > 0 Then
s &= "\\XMPLangAlt" & Contenido[aFields[2]] & "\n"
Endif
If Not IsNull(Contenido[aFields[3]]) And Len(Contenido[aFields[3]]) > 0 Then
s &= "\\XMPLangAlt" & Contenido[aFields[3]] & "\n"
Endif
If Not IsNull(Contenido[aFields[4]]) And Len(Contenido[aFields[4]]) > 0 Then
s &= "\\XMPLangAlt" & Contenido[aFields[4]] & "\n"
Endif
' s &= "pdfauthor={" & ContenidoAutor[bFields[2]] & " " & ContenidoAutor[bFields[1]] & "},\n"'
If Not IsNull(Contenido[aFields[7]]) And Len(Contenido[aFields[7]]) > 0 Then
s &= "pdfsubject={" & Contenido[aFields[7]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[9]]) And Len(Contenido[aFields[9]]) > 0 Then
s &= "pdfsubtitle={" & Contenido[aFields[9]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[10]]) And Len(Contenido[aFields[10]]) > 0 Then
s &= "pdfauthortitle={" & Contenido[aFields[10]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[11]]) And Len(Contenido[aFields[11]]) > 0 Then
s &= "pdfdate={" & Contenido[aFields[11]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[12]]) And Len(Contenido[aFields[12]]) > 0 Then
s &= "pdfcreationdate={" & Contenido[aFields[12]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[13]]) And Len(Contenido[aFields[13]]) > 0 Then
s &= "pdfmoddate={" & Contenido[aFields[13]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[14]]) And Len(Contenido[aFields[14]]) > 0 Then
s &= "pdfmetadate={" & Contenido[aFields[14]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[15]]) And Len(Contenido[aFields[15]]) > 0 Then
s &= "pdfcopyright={" & Contenido[aFields[15]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[16]]) And Len(Contenido[aFields[16]]) > 0 Then
s &= "pdflicenseurl={" & Contenido[aFields[16]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[17]]) And Len(Contenido[aFields[17]]) > 0 Then
s &= "pdfcaptionwriter={" & Contenido[aFields[17]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[18]]) And Len(Contenido[aFields[18]]) > 0 Then
s &= "pdfcontactaddress={" & Contenido[aFields[18]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[19]]) And Len(Contenido[aFields[19]]) > 0 Then
s &= "pdfcontactcity={" & Contenido[aFields[19]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[20]]) And Len(Contenido[aFields[20]]) > 0 Then
s &= "pdfcontactpostcode={" & Contenido[aFields[20]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[21]]) And Len(Contenido[aFields[21]]) > 0 Then
s &= "pdfcontactcountry={" & Contenido[aFields[21]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[22]]) And Len(Contenido[aFields[22]]) > 0 Then
s &= "pdfcontactregion={" & Contenido[aFields[22]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[23]]) And Len(Contenido[aFields[23]]) > 0 Then
s &= "pdfcontactphone={" & Contenido[aFields[23]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[24]]) And Len(Contenido[aFields[24]]) > 0 Then
s &= "pdfcontactemail={" & Contenido[aFields[24]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[25]]) And Len(Contenido[aFields[25]]) > 0 Then
s &= "pdfcontacturl={" & Contenido[aFields[25]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[26]]) And Len(Contenido[aFields[26]]) > 0 Then
s &= "pdfdocumentid={" & Contenido[aFields[26]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[27]]) And Len(Contenido[aFields[27]]) > 0 Then
s &= "pdfpublication={" & Contenido[aFields[27]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[28]]) And Len(Contenido[aFields[28]]) > 0 Then
s &= "pdfpublisher={" & Contenido[aFields[28]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[29]]) And Len(Contenido[aFields[29]]) > 0 Then
s &= "pdftype={" & Contenido[aFields[29]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[30]]) And Len(Contenido[aFields[30]]) > 0 Then
s &= "pdfpubtype={" & Contenido[aFields[30]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[31]]) And Len(Contenido[aFields[31]]) > 0 Then
s &= "pdfvolumenum={" & Contenido[aFields[31]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[32]]) And Len(Contenido[aFields[32]]) > 0 Then
s &= "pdfissuenum={" & Contenido[aFields[32]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[50]]) And Len(Contenido[aFields[50]]) > 0 Then
s &= "pdfpagerange={" & Contenido[aFields[50]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[34]]) And Len(Contenido[aFields[34]]) > 0 Then
s &= "pdfbookedition={" & Contenido[aFields[34]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[35]]) And Len(Contenido[aFields[35]]) > 0 Then
s &= "pdfisbn={" & Contenido[aFields[35]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[36]]) And Len(Contenido[aFields[36]]) > 0 Then
s &= "pdfissn={" & Contenido[aFields[36]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[37]]) And Len(Contenido[aFields[37]]) > 0 Then
s &= "pdfeissn={" & Contenido[aFields[37]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[38]]) And Len(Contenido[aFields[38]]) > 0 Then
s &= "pdfpubstatus={" & Contenido[aFields[38]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[39]]) And Len(Contenido[aFields[39]]) > 0 Then
s &= "pdflang={" & Contenido[aFields[39]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[40]]) And Len(Contenido[aFields[40]]) > 0 Then
s &= "pdfmetalang={" & Contenido[aFields[40]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[41]]) And Len(Contenido[aFields[41]]) > 0 Then
s &= "pdfbaseurl={" & Contenido[aFields[41]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[42]]) And Len(Contenido[aFields[42]]) > 0 Then
s &= "pdfurl={" & Contenido[aFields[42]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[43]]) And Len(Contenido[aFields[43]]) > 0 Then
s &= "pdfdoi={" & Contenido[aFields[43]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[44]]) And Len(Contenido[aFields[44]]) > 0 Then
s &= "pdfrendition={" & Contenido[aFields[44]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[45]]) And Len(Contenido[aFields[45]]) > 0 Then
s &= "pdfidentifier={" & Contenido[aFields[45]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[46]]) And Len(Contenido[aFields[46]]) > 0 Then
s &= "pdfx={" & Contenido[aFields[46]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[47]]) And Len(Contenido[aFields[47]]) > 0 Then
s &= "pdfversionid={" & Contenido[aFields[47]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[57]]) And Len(Contenido[aFields[57]]) > 0 Then
s &= "pdfkeywords={" & Contenido[aFields[57]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[61]]) And Len(Contenido[aFields[61]]) > 0 Then
s &= "pdfformato={" & Contenido[aFields[61]] & "},\n"
Endif
' el titulo del libro es campo obligatorio por eso no tiene condicional
s &= "pdftitle={" & Contenido[aFields[84]] & "},\n"
s &= "pdfcreator={gbTeXpublisher}" & ",\n"
s &= "pdfproducer={Ecosistema de LaTeX}" & ",\n"
s &= "unicode=true" & ",\n"
s &= "bookmarks=true" & ",\n"
s &= "pdfdisplaydoctitle=true" & ",\n"
s &= "pdfnewwindow=true" & "\n"
s &= "}" & "\n"
Contenido.MoveNext
Wend
' Establece la ruta y el nombre del archivo de salida
outputFile = File.Dir(TextBox1.Text) &/ "files" &/ "gbTeXmeta-" & File.BaseName(TextBox1.Text) & ".tex"
' Guarda el contenido acumulado en un solo archivo
File.Save(outputFile, s)
Conn.Close
End
'me conceto a la base de datos
Conn = Mod_Conn.conectar()
buscar = "select * from metadatos where nombreArchivo like '%" & rutaNAME & "%'"
buscarAutor = "SELECT * FROM autores WHERE id = " & id
' Exportar el registro seleccionado
Contenido = Conn.Exec(buscar)
ContenidoAutor = Conn.Exec(buscarAutor)
aFields.Clear
For Each f In Contenido.Fields
aFields.Add(f.Name)
If Len(f.Name) > w Then
w = Len(f.Name)
Endif
Next
' Obtener los IDs separados por espacios
Dim ids As String[] = Split(Contenido[aFields[5]], " ")
' Iterar sobre los IDs y obtener la información correspondiente
For Each id In ids
bFields.Clear
For Each fb In ContenidoAutor.Fields
bFields.Add(fb.Name)
If Len(fb.Name) > wb Then
wb = Len(fb.Name)
Endif
Next
s = "" ' Inicializa la cadena vacía
' Agregar la información al resultado
s &= ContenidoAutor[bFields[2]] & " " & ContenidoAutor[bFields[1]] & ", "
Next
' Eliminar la coma adicional al final y cerrar la cadena
s = "pdfauthor={" & Left(s, Len(s) - 2) & "},\n"
'exportamos el archivo metadatos para PDF libro
Public Sub ExportToMetaPDF()
Dim s As String
Dim sb As String
Dim f As ResultField
Dim fb As ResultField
Dim aFields As New String[]
Dim bFields As New String[]
Dim w As Integer
Dim wb As Integer
Dim buscar As String
Dim buscarAutor As String
Dim outputFile As String
Dim id As Integer
'me conceto a la base de datos
Conn = Mod_Conn.conectar()
' Exportamos los registros seleccionados
buscar = "select * from metadatos where nombreArchivo like '%" & rutaNAME & "%'"
Contenido = Conn.Exec(buscar)
aFields.Clear
For Each f In Contenido.Fields
aFields.Add(f.Name)
If Len(f.Name) > w Then
w = Len(f.Name)
Endif
Next
Dim ids As String[] = Split(Contenido[aFields[5]], " ")
' Inicializa la cadena vacía
sb = ""
' Iterar sobre los IDs y obtener la información correspondiente
For Each id In ids
' Establecer el valor de 'id' antes de ejecutar la consulta
buscarAutor = "SELECT * FROM autores WHERE id = " & id
ContenidoAutor = Conn.Exec(buscarAutor)
bFields.Clear
For Each fb In ContenidoAutor.Fields
bFields.Add(fb.Name)
If Len(fb.Name) > wb Then
wb = Len(fb.Name)
Endif
Next
' Agregar la información al resultado
sb &= ContenidoAutor[bFields[2]] & " " & ContenidoAutor[bFields[1]] & ", "
Next
' Eliminar la coma adicional al final y cerrar la cadena
sb = Left(sb, Len(sb) - 2)
s = "" ' Inicializa vacía la cadena efinitiva
While Contenido.Available
s &= "\\hypersetup" & "{" & "\n"
s &= "pdfauthor={" & sb & "},\n"
If Not IsNull(Contenido[aFields[2]]) And Len(Contenido[aFields[2]]) > 0 Then
s &= "\\XMPLangAlt" & Contenido[aFields[2]] & "\n"
Endif
If Not IsNull(Contenido[aFields[3]]) And Len(Contenido[aFields[3]]) > 0 Then
s &= "\\XMPLangAlt" & Contenido[aFields[3]] & "\n"
Endif
If Not IsNull(Contenido[aFields[4]]) And Len(Contenido[aFields[4]]) > 0 Then
s &= "\\XMPLangAlt" & Contenido[aFields[4]] & "\n"
Endif
If Not IsNull(Contenido[aFields[7]]) And Len(Contenido[aFields[7]]) > 0 Then
s &= "pdfsubject={" & Contenido[aFields[7]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[9]]) And Len(Contenido[aFields[9]]) > 0 Then
s &= "pdfsubtitle={" & Contenido[aFields[9]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[10]]) And Len(Contenido[aFields[10]]) > 0 Then
s &= "pdfauthortitle={" & Contenido[aFields[10]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[11]]) And Len(Contenido[aFields[11]]) > 0 Then
s &= "pdfdate={" & Contenido[aFields[11]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[12]]) And Len(Contenido[aFields[12]]) > 0 Then
s &= "pdfcreationdate={" & Contenido[aFields[12]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[13]]) And Len(Contenido[aFields[13]]) > 0 Then
s &= "pdfmoddate={" & Contenido[aFields[13]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[14]]) And Len(Contenido[aFields[14]]) > 0 Then
s &= "pdfmetadate={" & Contenido[aFields[14]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[15]]) And Len(Contenido[aFields[15]]) > 0 Then
s &= "pdfcopyright={" & Contenido[aFields[15]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[16]]) And Len(Contenido[aFields[16]]) > 0 Then
s &= "pdflicenseurl={" & Contenido[aFields[16]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[17]]) And Len(Contenido[aFields[17]]) > 0 Then
s &= "pdfcaptionwriter={" & Contenido[aFields[17]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[18]]) And Len(Contenido[aFields[18]]) > 0 Then
s &= "pdfcontactaddress={" & Contenido[aFields[18]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[19]]) And Len(Contenido[aFields[19]]) > 0 Then
s &= "pdfcontactcity={" & Contenido[aFields[19]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[20]]) And Len(Contenido[aFields[20]]) > 0 Then
s &= "pdfcontactpostcode={" & Contenido[aFields[20]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[21]]) And Len(Contenido[aFields[21]]) > 0 Then
s &= "pdfcontactcountry={" & Contenido[aFields[21]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[22]]) And Len(Contenido[aFields[22]]) > 0 Then
s &= "pdfcontactregion={" & Contenido[aFields[22]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[23]]) And Len(Contenido[aFields[23]]) > 0 Then
s &= "pdfcontactphone={" & Contenido[aFields[23]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[24]]) And Len(Contenido[aFields[24]]) > 0 Then
s &= "pdfcontactemail={" & Contenido[aFields[24]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[25]]) And Len(Contenido[aFields[25]]) > 0 Then
s &= "pdfcontacturl={" & Contenido[aFields[25]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[26]]) And Len(Contenido[aFields[26]]) > 0 Then
s &= "pdfdocumentid={" & Contenido[aFields[26]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[27]]) And Len(Contenido[aFields[27]]) > 0 Then
s &= "pdfpublication={" & Contenido[aFields[27]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[28]]) And Len(Contenido[aFields[28]]) > 0 Then
s &= "pdfpublisher={" & Contenido[aFields[28]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[29]]) And Len(Contenido[aFields[29]]) > 0 Then
s &= "pdftype={" & Contenido[aFields[29]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[30]]) And Len(Contenido[aFields[30]]) > 0 Then
s &= "pdfpubtype={" & Contenido[aFields[30]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[31]]) And Len(Contenido[aFields[31]]) > 0 Then
s &= "pdfvolumenum={" & Contenido[aFields[31]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[32]]) And Len(Contenido[aFields[32]]) > 0 Then
s &= "pdfissuenum={" & Contenido[aFields[32]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[50]]) And Len(Contenido[aFields[50]]) > 0 Then
s &= "pdfpagerange={" & Contenido[aFields[50]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[34]]) And Len(Contenido[aFields[34]]) > 0 Then
s &= "pdfbookedition={" & Contenido[aFields[34]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[35]]) And Len(Contenido[aFields[35]]) > 0 Then
s &= "pdfisbn={" & Contenido[aFields[35]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[36]]) And Len(Contenido[aFields[36]]) > 0 Then
s &= "pdfissn={" & Contenido[aFields[36]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[37]]) And Len(Contenido[aFields[37]]) > 0 Then
s &= "pdfeissn={" & Contenido[aFields[37]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[38]]) And Len(Contenido[aFields[38]]) > 0 Then
s &= "pdfpubstatus={" & Contenido[aFields[38]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[39]]) And Len(Contenido[aFields[39]]) > 0 Then
s &= "pdflang={" & Contenido[aFields[39]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[40]]) And Len(Contenido[aFields[40]]) > 0 Then
s &= "pdfmetalang={" & Contenido[aFields[40]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[41]]) And Len(Contenido[aFields[41]]) > 0 Then
s &= "pdfbaseurl={" & Contenido[aFields[41]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[42]]) And Len(Contenido[aFields[42]]) > 0 Then
s &= "pdfurl={" & Contenido[aFields[42]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[43]]) And Len(Contenido[aFields[43]]) > 0 Then
s &= "pdfdoi={" & Contenido[aFields[43]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[44]]) And Len(Contenido[aFields[44]]) > 0 Then
s &= "pdfrendition={" & Contenido[aFields[44]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[45]]) And Len(Contenido[aFields[45]]) > 0 Then
s &= "pdfidentifier={" & Contenido[aFields[45]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[46]]) And Len(Contenido[aFields[46]]) > 0 Then
s &= "pdfx={" & Contenido[aFields[46]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[47]]) And Len(Contenido[aFields[47]]) > 0 Then
s &= "pdfversionid={" & Contenido[aFields[47]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[57]]) And Len(Contenido[aFields[57]]) > 0 Then
s &= "pdfkeywords={" & Contenido[aFields[57]] & "},\n"
Endif
If Not IsNull(Contenido[aFields[61]]) And Len(Contenido[aFields[61]]) > 0 Then
s &= "pdfformato={" & Contenido[aFields[61]] & "},\n"
Endif
' 'el titulo del libro es campo obligatorio
s &= "pdftitle={" & Contenido[aFields[84]] & "},\n"
s &= "pdfcreator={gbTeXpublisher}" & ",\n"
s &= "pdfproducer={Ecosistema de LaTeX}" & ",\n"
s &= "unicode=true" & ",\n"
s &= "bookmarks=true" & ",\n"
s &= "pdfdisplaydoctitle=true" & ",\n"
s &= "pdfnewwindow=true" & "\n"
s &= "}" & "\n"
Contenido.MoveNext
Wend
' Establece la ruta y el nombre del archivo de salida
outputFile = File.Dir(TextBox1.Text) &/ "files" &/ "gbTeXmeta-" & File.BaseName(TextBox1.Text) & ".tex"
' Guarda el contenido acumulado en un solo archivo
File.Save(outputFile, s)
Conn.Close
End