Unidad 51. Cuadros de diálogo (VI)





51.8. Grabar los resultados.

Los datos que se recogen de estos cuadros pueden tener diversos destinos.

Uno de ellos el de grabarse en un archivo, o una base de datos,

El sistema es fácil, declarar una tabla con el contenido adecuado a nuestras necesidades y proceder como con cualquier otra información.

Por ejemplo

 

 With RegConfig

   .ColorFondo = Objeto.BackColor.ToArgb

   .ColorTexto = Objeto.ForeColor.ToArgb      

   .FontNombre = Trim(Objeto.Font.Name)

   .Italica = Objeto.Font.Italic

   .Negrita = Objeto.Font.Bold

   .Subrayado = Objeto.Font.Underline

   .Tachado = Objeto.Font.Strikeout

   .Tamanyo = CByte(Objeto.Font.Size)

 End With

 

En este ejemplo se recibe un objeto del tipo control, que es el que se ha usado para mostrar las características de los datos de configuración actuales, y se asignan los datos que se han considerado útiles a una estructura de datos.

Esa estructura puede ser usada para grabarse en un archivo random,

 

 FilePut(CanalConfig, RegConfig, Posicion)

 

o en una base de datos.

 

 GrabacionBD(RegConfig, Posicion)

 

En el que el procedimiento de una inserción podría ser:

 

Private Sub GrabacionBD(ByVal RegConfig As FilConfig, _

                        ByVal Posicion As Long)

 

 Dim Codigo As String = Format(Posicion, "00")

 Dim CadenaSQL As String

 Dim Comando As New MySql.Data.MySqlClient.MySqlCommand

 

 CadenaSQL = "INSERT INTO Config_Objetos " & _

                       "( Codigo, ColorFondo, " & _

                         "ColorTexto, FontNombre, Italica, Negrita, " & _

                         "SubRayado, Tachado, Tamanyo) " & _

                 "Values (" & Codigo & ", " & _

                         RegConfig.ColorFondo & ", " & _

                         RegConfig.ColorTexto & ", " & _

                   "'" & RegConfig.FontNombre & "', " & _

                         RegConfig.Italica & ", " & _

                         RegConfig.Negrita & ", " & _

                         RegConfig.Subrayado & ", " & _

                         RegConfig.Tachado & ", " & _

                         RegConfig.Tamanyo & ");"

    Conexion.Open()

    ' Nombre de la consulta en la base de datos.

    Comando.CommandText = CadenaSQL

    ' Tipo de comando a ejecutar

    Comando.CommandType = CommandType.Text

    ' Conexión a utilizar, configurada previamente.

    Comando.Connection = Conexion

    Select Case Comando.ExecuteNonQuery

      Case 1

       .. / ..

 

La lectura

 

CadenaSQL = "Select * from Config_Objetos Where Codigo = " & Codigo & ";"

 

 

Public Function LeerGenerico( _

                    ByVal Conexion As MySql.Data.MySqlClient.MySqlConnection, _

                    ByVal CadenaSQL As String, _

                    ByRef Reg As DataRow, _

                    ByVal NomProgram As String) _

           As Boolean

 

    Dim Adaptador As MySql.Data.MySqlClient.MySqlDataAdapter

    Dim Tabla As New System.Data.DataTable

    Dim Trab As Boolean = False

    Dim Cerrar As Boolean = Conexion.State = ConnectionState.Closed

 

    If Cerrar Then Conexion.Open()

    Try

      Adaptador = New MySql.Data.MySqlClient.MySqlDataAdapter(CadenaSQL, Conexion)

      Adaptador.Fill(Tabla)

      Select Case Tabla.Rows.Count > 0

        Case True

          Reg = Tabla.Rows.Item(0)

          Trab = True

      End Select

    Catch ex As MySql.Data.MySqlClient.MySqlException

      Msgbox(ex.ErrorCode & ex.message )

  End Try

  ' Liberar recursos

  If Cerrar Then Conexion.Close()

  LeerGenerico = Trab

End

 

 

Asignación de lo leído al objeto

 

  Dim Result As Integer

  RegConfig = LecturaBD(Format(Posicion, "00"), Objeto) 

  Objeto.BackColor = Color.FromArgb(RegConfig.ColorFondo)

  Objeto.ForeColor = Color.FromArgb(RegConfig.ColorTexto)

  Objeto.Font = New Font(Trim(RegConfig.FontNombre), RegConfig.Tamanyo)

  Select Case RegConfig.Negrita

    Case True

      Result = Result Or FontStyle.Bold

  End Select

  Select Case RegConfig.Italica

    Case True

      Result = Result Or FontStyle.Italic

  End Select

  Select Case RegConfig.Tachado

    Case True

      Result = Result Or FontStyle.Strikeout

  End Select

  Select Case RegConfig.Subrayado

    Case True

      Result = Result Or FontStyle.Underline

  End Select

  Objeto.Font = New Font(Objeto.Font, Result)

 

La estructura utilizada es la siguiente:

 

  Public Structure FilConfig

    Public FontNombre As String

    Public Tamanyo As Integer

    Public Negrita As Boolean

    Public Subrayado As Boolean

    Public Tachado As Boolean

    Public Italica As Boolean

    Public ColorTexto As Integer

    Public ColorFondo As Integer

  End Structure

 

Y la definición de la tabla:

 

 "CREATE TABLE IF NOT EXISTS  Config_Objetos " & _

             "( " & _

                "Codigo SMALLINT PRIMARY KEY, " & _

                "FontNombre VARCHAR(25), " & _

                "Tamanyo SMALLINT," & _

                "Negrita SMALLINT, " & _

                "Subrayado SMALLINT, " & _

                "Tachado SMALLINT, " & _

                "Italica SMALLINT, " & _

                "ColorTexto INTEGER, " & _

                "ColorFondo INTEGER " & _

              ")"

 

Octubre-2010
Pág. 51.6

Atrás  Inicio  Adelante






Página inicial  Cursos Informática Gratuitos

Síguenos en:   Facebook       Sobre aulaClic            Política de Cookies