Ejemplo de module / modulo visual basic 2010
asignarle datos de la base de datos a un textboxt, combobox, label etc
Agregar datos a la base de datos.
Ejecutar reportes, consultas, buscar imágenes etc
muy útil aquí esta el código:
Imports System.Data
Imports System.IO
Imports MySql.Data.MySqlClient
Module Module1
Public cnn As MySqlConnection
Public base = "transporte"
Dim StrConexion As String = "server=" & Trim("localhost") & ";uid=root;password=;database=" & base
Public Sub cargarGrid(ByVal xsql As String, ByVal grid As DataGridView)
Dim conta As New Integer
Dim conexion As New MySqlConnection
conexion.ConnectionString = StrConexion
' crear comando
Dim oComando As New MySqlCommand(xsql, conexion)
''''''''''''''''''''''''
Dim Tabla As New DataTable
Dim Adaptador As New MySqlDataAdapter(xsql, StrConexion)
Tabla.Clear()
Adaptador.Fill(Tabla)
grid.DataSource = Tabla
End Sub
Public Sub cargarTextBox(ByVal xsql As String, ByVal txt As TextBox)
Dim conexion As MySqlConnection
Dim conta As New Integer
conexion = New MySql.Data.MySqlClient.MySqlConnection
'Dim conexion As MySqlConnection
conexion.ConnectionString = StrConexion
' crear comando
Dim oComando As New MySqlCommand(xsql, conexion)
txt.Text = ""
' crear DataReader
Dim oDataReader As MySqlDataReader
conexion.Open() ' obtener DataReader
oDataReader = oComando.ExecuteReader()
' recorrer filas
While oDataReader.Read()
'conta = oDataReader(0)
txt.Text = (oDataReader(0))
End While
'txt.Text = conta + 1
oDataReader.Close()
conexion.Close()
End Sub
Public Sub CamposTabla(ByVal sql1 As String, ByVal combo As ComboBox)
Dim conexion As MySqlConnection 'gestiona la conexion a la Base de Datos
Dim schemaTable As DataTable
Dim myField As DataRow
Dim cont As Integer
conexion = New MySql.Data.MySqlClient.MySqlConnection
conexion.ConnectionString = StrConexion ' "server=localhost;user=root; password=root;database=" & base & ";port=3306;"
conexion.Open()
combo.Items.Clear()
Dim sql As MySqlCommand = New MySqlCommand
sql.Connection = conexion
sql.CommandText = sql1
sql.CommandType = CommandType.Text
Dim dr As System.Data.IDataReader
Try
dr = sql.ExecuteReader()
schemaTable = dr.GetSchemaTable()
cont = 0
For Each myField In schemaTable.Rows
'Para cada propiedad del campo...
For Each myProperty In schemaTable.Columns
'Mostrar el nombre y el valor del campo.
Console.WriteLine(myProperty.ColumnName & " = " & myField(myProperty).ToString())
If (myProperty.ColumnName = "ColumnName") Then
'MsgBox(myProperty.ColumnName & " " & myField(myProperty).ToString())
combo.Items.Add(myField(myProperty).ToString())
cont += 1
End If
Next
Next
combo.DropDownStyle = ComboBoxStyle.DropDownList
Catch mierror As MySqlException
MessageBox.Show("Error de Conexión a la Base de Datos: " & mierror.Message)
Finally
'conexion.Dispose()
End Try
End Sub
Public Sub EjecutarReporte(ByVal sql As String, ByVal rutax As String)
Dim Tabla As New DataTable 'se encarga de representar la tabla de datos en la memoria
Dim conexion As MySqlConnection 'gestiona la conexion a la Base de Datos
'Dim rutax As String
Dim Ds As New DataSet 'representa la memoria interna de los datos
conexion = New MySql.Data.MySqlClient.MySqlConnection
conexion.ConnectionString = StrConexion ''"server=localhost;user=root; password=root;database=" & base & ";port=3306;"
conexion.Open()
Dim insertar As New MySqlDataAdapter(sql, conexion)
Dim Cmd As New MySqlCommandBuilder(insertar)
Try
insertar.Fill(Ds)
Ds.WriteXml(rutax, XmlWriteMode.WriteSchema)
'MessageBox.Show("Conexión Abierta Con Éxito")
'conexion.Close()
Catch mierror As MySqlException
MessageBox.Show("Error de Conexión a la Base de Datos: " & mierror.Message)
Finally
'conexion.Dispose()
End Try
End Sub
Public Sub EjecutarConsulta(ByVal sql As String)
Dim Tabla As New DataTable 'se encarga de representar la tabla de datos en la memoria
Dim conexion As MySqlConnection 'gestiona la conexion a la Base de Datos
Dim Ds As New DataSet 'representa la memoria interna de los datos
conexion = New MySql.Data.MySqlClient.MySqlConnection
conexion.ConnectionString = StrConexion ''"server=localhost;user=root; password=root;database=" & base & ";port=3306;"
conexion.Open()
Dim insertar As New MySqlDataAdapter(sql, conexion)
Dim Cmd As New MySqlCommandBuilder(insertar)
Try
insertar.Fill(Tabla)
MessageBox.Show("Transaccion Realizada Exitosamente", "Sistema", MessageBoxButtons.OK)
'conexion.Close()
Catch mierror As MySqlException
MessageBox.Show("Error de Conexión a la Base de Datos: " & mierror.Message)
Finally
'conexion.Dispose()
End Try
End Sub
Public Sub IncrementarID(ByVal sql1 As String, ByVal combo As TextBox)
Dim conexion As MySqlConnection 'gestiona la conexion a la Base de Datos
Dim Ds As New DataSet 'representa la memoria interna de los datos
Dim cont As Integer
conexion = New MySql.Data.MySqlClient.MySqlConnection
conexion.ConnectionString = StrConexion ' "server=localhost;user=root; password=root;database=" & base & ";port=3306;"
conexion.Open()
combo.Text = ""
Dim sql As MySqlCommand = New MySqlCommand
sql.Connection = conexion
sql.CommandText = sql1
sql.CommandType = CommandType.Text
Dim dr As System.Data.IDataReader
Try
dr = sql.ExecuteReader()
cont = 0
While dr.Read()
'cont += 1
cont = dr(0)
End While
combo.Text = cont + 1
'Cerramos la conexión con el servidor
Catch mierror As MySqlException
MessageBox.Show("Error de Conexión a la Base de Datos: " & mierror.Message)
Finally
'conexion.Dispose()
End Try
End Sub
Public Sub UnSoloValor(ByVal sql1 As String, ByVal combo As TextBox)
Dim conexion As MySqlConnection 'gestiona la conexion a la Base de Datos
Dim Ds As New DataSet 'representa la memoria interna de los datos
Dim cont As Integer
conexion = New MySql.Data.MySqlClient.MySqlConnection
conexion.ConnectionString = StrConexion ' "server=localhost;user=root; password=root;database=" & base & ";port=3306;"
conexion.Open()
combo.Text = ""
Dim sql As MySqlCommand = New MySqlCommand
'Establecemos el tipo Connection que usará para realizar la petición
sql.Connection = conexion
sql.CommandText = sql1
sql.CommandType = CommandType.Text
Dim dr As System.Data.IDataReader
Try
dr = sql.ExecuteReader()
cont = 0
While dr.Read()
combo.Text = (dr(0))
'cont += 1
End While
Catch mierror As MySqlException
MessageBox.Show("Error de Conexión a la Base de Datos: " & mierror.Message)
Finally
'conexion.Dispose()
End Try
End Sub
Public Sub LlenarCombo(ByVal sql1 As String, ByVal combo As ComboBox)
Dim conexion As MySqlConnection 'gestiona la conexion a la Base de Datos
Dim Ds As New DataSet 'representa la memoria interna de los datos
Dim cont As Integer
conexion = New MySql.Data.MySqlClient.MySqlConnection
conexion.ConnectionString = StrConexion ' "server=localhost;user=root; password=root;database=" & base & ";port=3306;"
conexion.Open()
combo.Items.Clear()
combo.DropDownStyle = ComboBoxStyle.DropDownList
Dim sql As MySqlCommand = New MySqlCommand
'Establecemos el tipo Connection que usará para realizar la petición
sql.Connection = conexion
sql.CommandText = sql1
sql.CommandType = CommandType.Text
Dim dr As System.Data.IDataReader
Try
dr = sql.ExecuteReader()
cont = 0
While dr.Read()
combo.Items.Add(dr(0))
'cont += 1
End While
Catch mierror As MySqlException
MessageBox.Show("Error de Conexión a la Base de Datos: " & mierror.Message)
Finally
'conexion.Dispose()
End Try
End Sub
Public Sub llenarLista(ByVal sql1 As String, ByVal list As ListView)
Dim conexion As MySqlConnection 'gestiona la conexion a la Base de Datos
Dim Ds As New DataSet 'representa la memoria interna de los datos
Dim listar As New ListViewItem("x")
Dim listar1 As New ListViewItem("xwq")
Dim schemaTable As DataTable
'Dim myField As DataRow
Dim cont As Integer
conexion = New MySql.Data.MySqlClient.MySqlConnection
conexion.ConnectionString = StrConexion ' "server=localhost;user=root; password=root;database=" & base & ";port=3306;"
conexion.Open()
list.Items.Clear()
list.GridLines = True
list.FullRowSelect = True
list.LabelEdit = True
list.View = View.Details
' list.Columns.Clear()
Dim sql As MySqlCommand = New MySqlCommand
sql.Connection = conexion
sql.CommandText = sql1
sql.CommandType = CommandType.Text
Dim dr As System.Data.IDataReader
Try
dr = sql.ExecuteReader()
schemaTable = dr.GetSchemaTable()
cont = 0
'' For Each myField In schemaTable.Rows
'Para cada propiedad del campo...
'For Each myProperty In schemaTable.Columns
'Mostrar el nombre y el valor del campo.
'Console.WriteLine(myProperty.ColumnName & " = " & myField(myProperty).ToString())
'If (myProperty.ColumnName = "ColumnName") Then
'MsgBox(myProperty.ColumnName & " " & myField(myProperty).ToString())
'list.Columns.Add(myField(myProperty).ToString())
'cont += 1
'End If
'Next
'Next
'Mientras haya datos para leer los mostramos
While dr.Read()
'Al igual de los objetos DataRow, la clase IDataReader también tiene
'un método por defecto .Item que funciona exactamente igual
listar1 = list.Items.Add(dr(0))
For i = 1 To dr.FieldCount - 1
listar1.SubItems.Add(i).Text = dr(i)
Next
End While
Catch mierror As MySqlException
MessageBox.Show("Error de Conexión a la Base de Datos: " & mierror.Message)
Finally
'conexion.Dispose()
End Try
End Sub
Public Sub guardarImagen(ByVal sql As String, ByVal PictureBox1 As PictureBox)
Try
Dim sq As String = sql
';Dim sql As String = "insert into tbl_imagenes(imagen)values(?imagen)"
cnn = New MySqlConnection(StrConexion)
Dim Comando As New MySqlCommand(sql, cnn)
Dim Imag As Byte()
Imag = Imagen_Bytes(PictureBox1.Image)
Comando.Parameters.AddWithValue("?imagen", Imag)
cnn.Open()
If cnn.State = ConnectionState.Open Then
Comando.ExecuteNonQuery()
End If
cnn.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
Public Sub BuscarImagen(ByVal sql1 As String, ByVal PictureBox1 As PictureBox)
Try
Dim Sql As String = sql1 '"select * from tbl_imagenes where id=" & Me.TxtID.Text & ""
Dim lector As MySqlDataReader
cnn = New MySqlConnection(StrConexion)
cnn.Open()
If cnn.State = ConnectionState.Open Then
Dim Imag As Byte()
Dim Comando As New MySqlCommand(Sql, cnn)
lector = Comando.ExecuteReader
While lector.Read
Imag = lector("imagen")
PictureBox1.Image = Bytes_Imagen(Imag)
End While
End If
cnn.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
'convertir binario a imágen
Private Function Bytes_Imagen(ByVal Imagen As Byte()) As Image
Try
'si hay imagen
If Not Imagen Is Nothing Then
'caturar array con memorystream hacia Bin
Dim Bin As New MemoryStream(Imagen)
'con el método FroStream de Image obtenemos imagen
Dim Resultado As Image = Image.FromStream(Bin)
'y la retornamos
Return Resultado
Else
Return Nothing
End If
Catch ex As Exception
Return Nothing
End Try
End Function
'convertir imagen a binario
Private Function Imagen_Bytes(ByVal Imagen As Image) As Byte()
'si hay imagen
If Not Imagen Is Nothing Then
'variable de datos binarios en stream(flujo)
Dim Bin As New MemoryStream
'convertir a bytes
Imagen.Save(Bin, Imaging.ImageFormat.Jpeg)
'retorna binario
Return Bin.GetBuffer
Else
Return Nothing
End If
End Function
End Module
Descargar modulo:

Comentarios
Publicar un comentario