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