Pool de conexiones en VisualBasic.net y Mysql segunda parte
Posted by Slatancrouch in mysql, pool de conexiones, Visualbasic.net on miércoles, 20 de mayo de 2009
Continuando con el tema anterior, en esta entrada terminamos con la pequeña aplicación de artículos, comenzamos.
Modificaremos la interfaz gráfica, agregaremos dos botones, al botón numero uno le pondremos la etiqueta "guardar", al botón 2 le pondremos la etiqueta "cancelar", el primer botón será el encargado de hacer la labor de guardado de artículos, el segundo simplemente limpiará los campos, la interfaz quedará como la siguiente imagen
Nuestra primera labor será crear un método de nombre limpia, no realizará otra tarea más que eso, limpiar los campos, su código es el siguiente
Private Sub limpia()
TextBox1.Text = ""
ComboBox1.Text = "-SELECCIONE-"
RichTextBox1.Text = ""
End Sub
Private Sub Button1_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs)
Handles Button1.Click
If Not TextBox1.Text.Equals("".Trim) Then
If Not ComboBox1.Text = "-SELECCIONE-" Then
If Not RichTextBox1.Text = "".Trim Then
Try
query = "insert into articulo values
(null, (select idmarca from marca where marca.marca =
'" & ComboBox1.Text & "'), '" & TextBox1.Text & "',
'" & RichTextBox1.Text & "')"
con = dbpool.Open
comando = New MySqlCommand(query, con)
comando.ExecuteNonQuery()
MsgBox("Articulo agregado")
limpia()
Catch ex As Exception
MsgBox(ex.ToString)
Finally
dbpool.Close(con)
End Try
Else
MsgBox("Agregue una descripción")
End If
Else
MsgBox("Seleccione una marca")
End If
Else
MsgBox("Agregue una artículo")
End If
End Sub
El código que corresponde al botón cancelar no es mas que llamar al limpia, no tenemos más tareas para este componente, de la siguiente forma realizará su trabajo
Private Sub Button2_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button2.Click
limpia()
End Sub
Posteriormente definiremos un método de nombre "cargar" para que llene las grillas, ustedes me dirán el ¿Por qué? de este método si para eso agregamos el botón actualizar, la explicación es la siguiente: cuando iniciamos el programa puede que solo querramos consultar, para ahorrarnos la molestia de precionar el botón actualizar, cargaremos los datos desde el inicio de la aplicación y únicamente utilizarmos "actualizar" cuando agreguemos nuevos artículos y estos requieran ser consultados.
Antes debemos declara unas cuantas variables, el datagridview lo llenaremos con un adaptador de la clase MysqlDataAdapter, que no es más que una tabla temporal que utilizaremos como puente para pasar los datos de la base hacia el visor, nesesitaremos también un dataset y un datatable, quee aran la función de acoplar los datos del adaptador hacia el visor de datos, la forma correcta de realizar la tarea es la siguiente
Dim adaptador As New MySqlDataAdapter
Dim dataset As New DataSet
Dim datatable As New DataTable
Private Sub cargar()
Try
dataset.Clear()
query = "select " + _
" articulo.idarticulo, " + _
" articulo.articulo, " + _
" marca.marca, " + _
" articulo.descripcion " + _
"from articulo " + _
"INNER JOIN marca ON marca.idmarca = articulo.idmarca"
con = dbpool.Open
adaptador.SelectCommand = New MySqlCommand(query, con)
adaptador.Fill(dataset, "articulo")
datatable = dataset.Tables("articulo")
DataGridView1.MultiSelect = False
DataGridView1.DataSource = datatable
Catch ex As Exception
MsgBox(ex.ToString)
Finally
dbpool.Close(con)
End Try
End Sub
Private Sub Button3_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button3.Click
cargar()
End Sub
Ahora al momento de reallizar una inserrción veremos unan pantalla como esta
Cuando veamos la pestaña de consultas veremos una imagen como la siguiente
Descargar el proyecto completo y la base de datos aquí.
This entry was posted on miércoles, 20 de mayo de 2009 at 21:14 and is filed under mysql, pool de conexiones, Visualbasic.net. You can follow any responses to this entry through the RSS 2.0. You can leave a response.
# by Anónimo - 6 de junio de 2009, 10:34
Es un buen tip, vereque tal funciona...
# by Julio Adrián - 22 de junio de 2009, 15:52
Este no es una cola de conexiones. Es una clase que encapsula el acceso a base de datos.