Constancia

VB_CLS_BD

Dec 6th, 2014
310
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 17.52 KB | None | 0 0
  1. #Region "IMPORTS - REFERENCIAS"
  2.  
  3. Imports System.Data.SqlClient ' >> .NET >> System.data
  4. Imports System.Data.OleDb
  5.  
  6. #End Region
  7.  
  8.  
  9. Public Class BD
  10.  
  11. #Region "VARIABLES"
  12.  
  13.     Public Conex As SqlConnection, SqlComm As SqlCommand, SqlComm2 As SqlCommand, CadenaConex As String
  14.  
  15.     Private DyC_RS As Dictionary(Of Integer, SqlDataReader)
  16.  
  17. #End Region
  18.  
  19.     Public Sub New(StrServidor As String, _
  20.                    StrBaseDatos As String, _
  21.                    StrUsuario As String, _
  22.                    StrPass As String, _
  23.                    Optional StrUbicacion As String = "")
  24.  
  25.         _sError = ""
  26.         _Servidor = StrServidor : _BaseDatos = StrBaseDatos : _Usuario = StrUsuario : _Pass = StrPass
  27.         _Ubicacion = StrUbicacion
  28.  
  29.         CadenaConex = "server=" & _Servidor & ";uid=" & _Usuario & ";pwd=" & _Pass & ";database=" & _BaseDatos
  30.         ' _BDAbierta = False
  31.  
  32.         _VersionSQL = DameVersionSQL()
  33.  
  34.     End Sub
  35.  
  36. #Region "PROPIEDADES"
  37.  
  38.     Private _Ubicacion As String
  39.     Public Property Ubicacion() As String
  40.         Get
  41.             Return _Ubicacion
  42.         End Get
  43.         Set(ByVal value As String)
  44.             _Ubicacion = value
  45.         End Set
  46.     End Property
  47.  
  48.     Private _Servidor As String
  49.     Public Property Servidor() As String
  50.         Get
  51.             Return _Servidor
  52.         End Get
  53.         Set(ByVal value As String)
  54.             _Servidor = value
  55.         End Set
  56.     End Property
  57.  
  58.     Private _VersionSQL As String
  59.     Public Property VersionSQL() As String
  60.         Get
  61.             Return _VersionSQL
  62.         End Get
  63.         Set(ByVal value As String)
  64.             _VersionSQL = value
  65.         End Set
  66.     End Property
  67.  
  68.     Private _BaseDatos As String
  69.     Public Property BaseDatos() As String
  70.         Get
  71.             Return _BaseDatos
  72.         End Get
  73.         Set(ByVal value As String)
  74.             _BaseDatos = value
  75.         End Set
  76.     End Property
  77.  
  78.     Private _Usuario As String
  79.     Public Property Usuario() As String
  80.         Get
  81.             Return _Usuario
  82.         End Get
  83.         Set(ByVal value As String)
  84.             _Usuario = value
  85.         End Set
  86.     End Property
  87.  
  88.     Private _Pass As String
  89.     Public Property Pass() As String
  90.         Get
  91.             Return _Pass
  92.         End Get
  93.         Set(ByVal value As String)
  94.             _Pass = value
  95.         End Set
  96.     End Property
  97.  
  98.     Private _Sql As String
  99.     Public Property Sql() As String
  100.         Get
  101.             Return _Sql
  102.         End Get
  103.         Set(ByVal value As String)
  104.             _Sql = value
  105.         End Set
  106.     End Property
  107.  
  108.     Private _Tabla As String
  109.     Public Property Tabla() As String
  110.         Get
  111.             Return _Tabla
  112.         End Get
  113.         Set(ByVal value As String)
  114.             _Tabla = value
  115.         End Set
  116.     End Property
  117.  
  118.     Private _RutaFichero As String
  119.     Public Property RutaFichero() As String
  120.         Get
  121.             Return _RutaFichero
  122.         End Get
  123.         Set(ByVal value As String)
  124.             _RutaFichero = value
  125.         End Set
  126.     End Property
  127.  
  128.     Private _Fichero As String
  129.     Public Property Fichero() As String
  130.         Get
  131.             Return _Fichero
  132.         End Get
  133.         Set(ByVal value As String)
  134.             _Fichero = value
  135.         End Set
  136.     End Property
  137.  
  138.     Private _BDAbierta As Boolean
  139.     Public Property BDAbierta() As Boolean
  140.         Get
  141.             Return _BDAbierta
  142.         End Get
  143.         Set(ByVal value As Boolean)
  144.             _BDAbierta = value
  145.         End Set
  146.     End Property
  147.  
  148.     Private _sError As String
  149.     Public Property sError() As String
  150.         Get
  151.             Return _sError
  152.         End Get
  153.         Set(ByVal value As String)
  154.             _sError = value
  155.         End Set
  156.     End Property
  157.  
  158. #End Region
  159.  
  160. #Region "MÉTODOS PÚBLICOS"
  161.  
  162.     Public Sub Abrir()
  163.  
  164.         Try
  165.             Conex = New SqlConnection(CadenaConex)
  166.             Conex.Open()
  167.             _BDAbierta = True
  168.             'If _VersionSQL = "" Then _VersionSQL = DameVersionSQL()
  169.         Catch ex As Exception
  170.             _sError = "BD.Abrir() : " & ex.Message
  171.             _BDAbierta = False
  172.         End Try
  173.     End Sub
  174.  
  175.     Public Sub Cerrar()
  176.         Try
  177.             Conex.Close()
  178.             Conex = Nothing
  179.             _BDAbierta = False
  180.         Catch ex As Exception
  181.             _sError = "BD.Cerrar() : " & ex.Message
  182.         End Try
  183.     End Sub
  184.  
  185.     Public Sub CambiarBD(StrBD As String)
  186.         Try
  187.  
  188.             Conex.ChangeDatabase(StrBD)
  189.  
  190.         Catch ex As Exception
  191.             _sError = "BD.CambiarBD() : " & ex.Message
  192.         End Try
  193.     End Sub
  194.  
  195.     ''' <summary>
  196.     ''' Ejecutar Sentencia SQL,Previamente hay que dar valor a la Variable BD.SQL con la Sentencia a Ejecutar
  197.     ''' </summary>
  198.     ''' <param name="TiempoEspera"></param>
  199.     ''' <remarks></remarks>
  200.     Public Sub EjecutaSQL(Optional sSQL As String = "", Optional TiempoEspera As Integer = 500)
  201.  
  202.         If sSQL = "" Then sSQL = _Sql
  203.  
  204.         Try
  205.  
  206.             SqlComm = New SqlCommand(sSQL)
  207.             SqlComm.Connection = Conex
  208.             SqlComm.CommandTimeout = TiempoEspera
  209.             SqlComm.ExecuteNonQuery()
  210.  
  211.         Catch ex As Exception
  212.             _sError = "BD.EjecutaSQL() : " & ex.Message
  213.         End Try
  214.  
  215.         SqlComm.Dispose() : SqlComm = Nothing
  216.  
  217.     End Sub
  218.  
  219.     '******************** DATA READER
  220.  
  221.     Public Function CrearDReader(StrSql) As SqlDataReader
  222.  
  223.         CrearDReader = Nothing
  224.  
  225.         Try
  226.             SqlComm = New SqlCommand(StrSql, Conex)
  227.             CrearDReader = SqlComm.ExecuteReader
  228.         Catch ex As Exception
  229.             _sError = "BD.CrearDReader() : " & ex.Message
  230.         End Try
  231.  
  232.         SqlComm.Dispose() : SqlComm = Nothing
  233.  
  234.     End Function
  235.  
  236.     Public Sub CerrarDReader(oReader As SqlDataReader)
  237.         oReader.Close() : oReader = Nothing
  238.     End Sub
  239.  
  240.     '********************* DATA TABLE
  241.  
  242.     Public Function CrearDTable(StrSql As String) As DataTable
  243.  
  244.         Dim SqlAdapter As New SqlDataAdapter()
  245.  
  246.         SqlComm = New SqlCommand(StrSql)
  247.         SqlComm.Connection = Conex
  248.         SqlAdapter.SelectCommand = SqlComm
  249.  
  250.         CrearDTable = New DataTable
  251.  
  252.         Try
  253.  
  254.             SqlAdapter.Fill(CrearDTable)
  255.  
  256.         Catch ex As Exception
  257.             _sError = "BD.CrearDTable() : " & ex.Message
  258.         End Try
  259.  
  260.         SqlAdapter.Dispose()
  261.         SqlComm.Dispose() : SqlComm = Nothing
  262.  
  263.     End Function
  264.  
  265.     Public Sub CerrarDTable(oDTable As DataTable)
  266.         oDTable.Dispose() : oDTable = Nothing
  267.     End Sub
  268.  
  269.     ''' <summary>
  270.     ''' Importa Fichero de Texto a Tabla SQL Opcional usar Fichero de Formato FMT
  271.     ''' </summary>
  272.     ''' <param name="bBorrar">Opcional,Si es true Truca la Tabla SQL de destino</param>
  273.     ''' <param name="FilaIni">Fila de inicio en el Txt</param>
  274.     ''' <param name="FicheroFormato">Opciona,Ruta del Fichero de Formato FMT</param>
  275.     ''' <remarks></remarks>
  276.     Public Sub ImportarFichero(Optional bBorrar As Boolean = True, Optional FilaIni As Integer = 2, Optional FicheroFormato As String = "")
  277.  
  278.         Try
  279.             If bBorrar Then
  280.                 _Sql = "TRUNCATE TABLE " & _Tabla
  281.                 EjecutaSQL() : If _sError <> "" Then Exit Sub
  282.             End If
  283.  
  284.             _Sql = "BULK INSERT " & _Tabla & " "
  285.             _Sql = _Sql & "FROM " & "'" & _RutaFichero & _Fichero & "' "
  286.  
  287.             If FicheroFormato = "" Then
  288.                 _Sql = _Sql & "WITH (ROWTERMINATOR ='\n',FIRSTROW = " & FilaIni & ")"
  289.             Else
  290.                 _Sql = _Sql & "WITH (FIRSTROW = " & FilaIni & ",FORMATFILE = '" & FicheroFormato & "')"
  291.             End If
  292.  
  293.             EjecutaSQL()
  294.  
  295.         Catch ex As Exception
  296.             _sError = "BD.ImportarFichero() : " & ex.Message
  297.         End Try
  298.  
  299.     End Sub
  300.  
  301.     Public Sub ImportarAccess(sBDAccess As String, TablaAccess As String, TablaSQL As String, Optional bBorrar As Boolean = False)
  302.  
  303.         Dim Tabla As DataTable = New DataTable
  304.  
  305.         Dim AccessConex As OleDb.OleDbConnection
  306.         Dim AccessAdapter As OleDb.OleDbDataAdapter
  307.  
  308.         Dim StrConex As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sBDAccess & ";"
  309.         AccessConex = New OleDb.OleDbConnection(StrConex)
  310.  
  311.         Try
  312.  
  313.             If bBorrar Then EjecutaSQL("TRUNCATE TABLE " & TablaSQL)
  314.             If _sError <> "" Then Exit Sub
  315.  
  316.             AccessConex.Open()
  317.             AccessAdapter = New OleDb.OleDbDataAdapter("SELECT * FROM " & TablaAccess, AccessConex)
  318.             AccessAdapter.Fill(Tabla)
  319.  
  320.             AccessConex.Close() : AccessConex = Nothing
  321.  
  322.             Dim bulkCopy As SqlBulkCopy = New SqlBulkCopy(Conex)
  323.             bulkCopy.DestinationTableName = TablaSQL
  324.             bulkCopy.BulkCopyTimeout = 900
  325.  
  326.             'For Each Col As SqlBulkCopyColumnMapping In bulkCopy.ColumnMappings
  327.             '    Debug.Print(Col.SourceColumn.ToString)
  328.             'Next
  329.  
  330.             bulkCopy.WriteToServer(Tabla)
  331.  
  332.         Catch ex As Exception
  333.             _sError = "BD.ImportarAccess() : " & ex.Message
  334.         End Try
  335.  
  336.     End Sub
  337.  
  338.  
  339.     Public Sub ImportarExcel(RutaExcel As String, FicExcel As String, HojaExcel As String, TablaSQL As String, Optional bBorrar As Boolean = False)
  340.  
  341.         Dim Tabla As DataTable = New DataTable
  342.  
  343.         Dim ExcelConex As New OleDb.OleDbConnection
  344.         Dim ExcelAdapter As OleDb.OleDbDataAdapter
  345.  
  346.         'Dim StrConex As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & RutaExcel & FicExcel & ";Extended Properties=""Excel 8.0;"
  347.         'Dim StrConex As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
  348.         '        "Data Source= " & RutaExcel & FicExcel & _
  349.         '        ";Extended Properties=""Excel 8.0;"""
  350.  
  351.  
  352.         Dim StrConex As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & RutaExcel & FicExcel & ";Extended Properties=Excel 8.0;"
  353.  
  354.  
  355.         'ExcelConex.ConnectionString = StrConex
  356.         ExcelConex = New OleDb.OleDbConnection(StrConex)
  357.  
  358.  
  359.         Try
  360.  
  361.             If bBorrar Then EjecutaSQL("TRUNCATE TABLE " & TablaSQL)
  362.             If _sError <> "" Then Exit Sub
  363.  
  364.             ExcelConex.Open()
  365.             ExcelAdapter = New OleDb.OleDbDataAdapter("SELECT * FROM " & HojaExcel, ExcelConex)
  366.             ExcelAdapter.Fill(Tabla)
  367.  
  368.             ExcelConex.Close() : ExcelConex = Nothing
  369.  
  370.             Dim bulkCopy As SqlBulkCopy = New SqlBulkCopy(Conex)
  371.             bulkCopy.DestinationTableName = TablaSQL
  372.             bulkCopy.BulkCopyTimeout = 900
  373.  
  374.             'For Each Col As SqlBulkCopyColumnMapping In bulkCopy.ColumnMappings
  375.             '    Debug.Print(Col.SourceColumn.ToString)
  376.             'Next
  377.  
  378.             bulkCopy.WriteToServer(Tabla)
  379.  
  380.         Catch ex As Exception
  381.             _sError = "BD.ImportarExcel() : " & ex.Message
  382.         End Try
  383.  
  384.     End Sub
  385.  
  386.     'Public Function CrearDSet(StrSql As String) As DataSet
  387.  
  388.     '    Dim adapter As New SqlDataAdapter()
  389.  
  390.  
  391.     '    adapter.TableMappings.Add("Table", "TEMP_PELICULAS")
  392.  
  393.     '    SqlComm = New SqlCommand(StrSql)
  394.     '    SqlComm.Connection = Conn
  395.     '    adapter.SelectCommand = SqlComm
  396.  
  397.     '    CrearDSet = New DataSet("TEMP_PELICULAS")
  398.     '    adapter.Fill(CrearDSet)
  399.  
  400.     'End Function
  401.  
  402. #End Region
  403.  
  404. #Region "MÉTODOS PRIVADOS"
  405.  
  406.     Private Function DameVersionSQL() As String
  407.  
  408.         On Error GoTo TrataError
  409.  
  410.         Dim StrVersion As String
  411.         Dim oRs As SqlDataReader
  412.  
  413.         Abrir()
  414.  
  415.         _Sql = "Select @@version"
  416.         oRs = CrearDReader(_Sql)
  417.         oRs.Read()
  418.  
  419.  
  420.         StrVersion = oRs(0)
  421.         CerrarDReader(oRs)
  422.  
  423.         Cerrar()
  424.  
  425.         Return StrVersion
  426.  
  427.         Exit Function
  428. TrataError:
  429.         _sError = "BD.DameVersionSQL() : " & Err.Description
  430.         Return _sError
  431.     End Function
  432.  
  433. #End Region
  434.  
  435.  
  436. #Region "TEST"
  437.  
  438.  
  439.     Private Sub test()
  440.  
  441.         'Dim temp_RS As SqlDataReader
  442.  
  443.  
  444.  
  445.  
  446.         ' DyC_RS.Add(0,
  447.  
  448.     End Sub
  449.  
  450. #End Region
  451.  
  452. End Class
  453.  
  454.  
  455. #Region "REFERENCIAS"
  456.  
  457.  
  458. '******************************** SQL BULKCOPY ************************************************
  459.  
  460. 'http://msdn.microsoft.com/es-es/library/System.Data.SqlClient.SqlBulkCopy%28v=vs.110%29.aspx
  461.  
  462.  
  463. '**************************** FICHERO DE FORMATO FMT *******************************************
  464.  
  465. '8.0  
  466. '39
  467. '1      SQLCHAR 0       50      "\t"    1       ID_OT   Modern_Spanish_CI_AS
  468. '2      SQLCHAR 0       50      "\t"    2       LUPA    Modern_Spanish_CI_AS
  469. '3      SQLCHAR 0       50      "\t"    3       MATRICULA_AUTOR Modern_Spanish_CI_AS
  470. '4      SQLCHAR 0       255     "\t"    4       USUARIO_AUTOR   Modern_Spanish_CI_AS
  471. '5      SQLCHAR 0       500     "\t"    5       GRUPO_AUTOR     Modern_Spanish_CI_AS
  472. '6      SQLCHAR 0       50      "\t"    6       CIF     Modern_Spanish_CI_AS
  473. '7      SQLCHAR 0       255     "\t"    7       NOMBRE_CLIENTE  Modern_Spanish_CI_AS
  474. '8      SQLCHAR 0       500     "\t"    8       DESCRIPCION     Modern_Spanish_CI_AS
  475. '9      SQLCHAR 0       7000    "\t"    9       OBSERVACIONES   Modern_Spanish_CI_AS
  476. '10     SQLCHAR 0       500     "\t"    10      ESTADO  Modern_Spanish_CI_AS
  477. '11     SQLCHAR 0       500     "\t"    11      PRIORITARIO     Modern_Spanish_CI_AS
  478. '12     SQLCHAR 0       500     "\t"    12      MACROLAN        Modern_Spanish_CI_AS
  479. '13     SQLCHAR 0       500     "\t"    13      VPN_IP  Modern_Spanish_CI_AS
  480. '14     SQLCHAR 0       500     "\t"    14      N_CONEXIONES    Modern_Spanish_CI_AS
  481. '15     SQLCHAR 0       500     "\t"    15      FASE_ARGOS      Modern_Spanish_CI_AS
  482. '16     SQLCHAR 0       500     "\t"    16      TAREAS_ARGOS_PTES       Modern_Spanish_CI_AS
  483. '17     SQLCHAR 0       500     "\t"    17      FASE_ODPV       Modern_Spanish_CI_AS
  484. '18     SQLCHAR 0       500     "\t"    18      TAREAS_RTB_PTES Modern_Spanish_CI_AS
  485. '19     SQLCHAR 0       500     "\t"    19      FASE_CAV        Modern_Spanish_CI_AS
  486. '20     SQLCHAR 0       500     "\t"    20      TAREAS_CAV_PTES Modern_Spanish_CI_AS
  487. '21     SQLCHAR 0       500     "\t"    21      MATRICULA_RESPONSABLE   Modern_Spanish_CI_AS
  488. '22     SQLCHAR 0       500     "\t"    22      USUARIO_RESPONSABLE     Modern_Spanish_CI_AS
  489. '23     SQLCHAR 0       500     "\t"    23      GRUPO_RESPONSABLE       Modern_Spanish_CI_AS
  490. '24     SQLCHAR 0       500     "\t"    24      PFI     Modern_Spanish_CI_AS
  491. '25     SQLCHAR 0       500     "\t"    25      PFA     Modern_Spanish_CI_AS
  492. '26     SQLCHAR 0       500     "\t"    26      OFERTA  Modern_Spanish_CI_AS
  493. '27     SQLCHAR 0       500     "\t"    27      SOLICITUD_PEDIDO        Modern_Spanish_CI_AS
  494. '28     SQLCHAR 0       500     "\t"    28      FECHA_ALTA      Modern_Spanish_CI_AS
  495. '29     SQLCHAR 0       500     "\t"    29      FECHA_ENTRADA   Modern_Spanish_CI_AS
  496. '30     SQLCHAR 0       500     "\t"    30      FECHA_EN_ELABORACION    Modern_Spanish_CI_AS
  497. '31     SQLCHAR 0       500     "\t"    31      FECHA_PTE_INFRAESTRUCTURA       Modern_Spanish_CI_AS
  498. '32     SQLCHAR 0       500     "\t"    32      DIAS_PTE_INFRAESTRUCTURA        Modern_Spanish_CI_AS
  499. '33     SQLCHAR 0       500     "\t"    33      FECHA_PTE_RFS   Modern_Spanish_CI_AS
  500. '34     SQLCHAR 0       500     "\t"    34      DIAS_PTE_RFS    Modern_Spanish_CI_AS
  501. '35     SQLCHAR 0       500     "\t"    35      FECHA_PTE_VENDEDOR      Modern_Spanish_CI_AS
  502. '36     SQLCHAR 0       500     "\t"    36      FECHA_ANULADO   Modern_Spanish_CI_AS
  503. '37     SQLCHAR 0       500     "\t"    37      FECHA_FINALIZADO        Modern_Spanish_CI_AS
  504. '38     SQLCHAR 0       500     "\t"    38      F_CONV_SIMPLE   Modern_Spanish_CI_AS
  505. '39     SQLCHAR 0       5000    "\n"    39      ULTIMO_COMENTARIO       Modern_Spanish_CI_AS
  506.  
  507.  
  508. ''**************** SQL PROCEDIMIENTO ALMACENADO PARA GENERAR FICHERO DESDE TABLA ********************
  509.  
  510. '-- SELECT * FROM syscolumns WHERE ID = 738101670
  511. '--EXEC SYS_TABLA_FICHERO_FMT 'A_MIDAS_COMPLEJOS_PEDIDOS'
  512.  
  513. 'CREATE PROCEDURE SYS_TABLA_FICHERO_FMT
  514.  
  515. ' @TABLA VARCHAR(100)
  516.  
  517. 'AS
  518.  
  519. 'DECLARE @nColumnas INT
  520. 'DECLARE @iCOLUMNA INT
  521. 'DECLARE @ID_TABLA INT
  522. '--DECLARE @TABLA CHAR(200)
  523. 'DECLARE @VERSION CHAR(5)
  524. 'DECLARE @sFILA VARCHAR(500)
  525. 'DECLARE @SEPARADOR CHAR(5)
  526. '-- *********** VARIABLES PARA LOS CAMPOS DE LA TABLA
  527. 'DECLARE @CAMPO CHAR(150)
  528. 'DECLARE @LONGITUD INT
  529.  
  530. 'SELECT @VERSION = '8.0'
  531. '--SELECT @TABLA = 'A_MIDAS_COMPLEJOS_PEDIDOS'
  532.  
  533. 'SELECT @ID_TABLA = id FROM sysobjects WHERE name = @TABLA
  534. 'SELECT @nColumnas = COUNT(*) FROM SysColumns WHERE id = @ID_TABLA
  535.  
  536. '--PRINT @ID_TABLA
  537. 'PRINT @VERSION
  538. 'PRINT @nColumnas
  539.  
  540.  
  541. '-- ******************** CURSOR PARA RECORRER LOS CAMPOS
  542.  
  543. 'DECLARE RS CURSOR
  544. 'FOR SELECT Name,LENGTH FROM SysColumns WHERE ID = @ID_TABLA
  545. 'OPEN RS
  546.  
  547. 'SELECT @iCOLUMNA = 1
  548.  
  549. 'FETCH NEXT FROM RS
  550. 'INTO @CAMPO,@LONGITUD;
  551.  
  552. 'WHILE @@FETCH_STATUS = 0
  553. 'BEGIN
  554.  
  555. '        IF @iCOLUMNA = @nColumnas SELECT @SEPARADOR = '"\n"' ELSE SELECT @SEPARADOR = '"\t"'
  556.  
  557. '        SELECT @sFILA = LTRIM(RTRIM(CONVERT(CHAR,@iCOLUMNA))) + CHAR(9)
  558. '        SELECT @sFILA = @sFILA + 'SQLCHAR' + CHAR(9)
  559. '        SELECT @sFILA = @sFILA + '0' + CHAR(9)
  560. '        SELECT @sFILA = @sFILA + LTRIM(RTRIM(CONVERT(CHAR,@LONGITUD))) + CHAR(9)
  561. '        SELECT @sFILA = @sFILA + @SEPARADOR + CHAR(9)
  562. '        SELECT @sFILA = @sFILA + LTRIM(RTRIM(CONVERT(CHAR,@iCOLUMNA))) + CHAR(9)
  563. '        SELECT @sFILA = @sFILA + LTRIM(RTRIM(@CAMPO)) + CHAR(9)
  564. '        SELECT @sFILA = @sFILA + 'Modern_Spanish_CI_AS'
  565.  
  566. '        PRINT @sFILA
  567.  
  568. '        --PRINT CONVERT(CHAR,@iCOLUMNA) + CHAR(9) + 'SQLCHAR'   0       50      "\t"    1       CODIGO  Modern_Spanish_CI_AS
  569.  
  570. '        SELECT @iCOLUMNA = @iCOLUMNA + 1
  571.  
  572.  
  573. 'FETCH NEXT FROM RS
  574. 'INTO @CAMPO,@LONGITUD;
  575.  
  576. 'END
  577. 'CLOSE RS;
  578. 'DEALLOCATE RS;
  579.  
  580. #End Region
Advertisement
Add Comment
Please, Sign In to add comment