Sie sind auf Seite 1von 21

datos

Vb conexión

Imports System.Data.SqlClient

Public Class conexion


Protected cnn As New SqlConnection

Public idusuario As Integer

Protected Function conectado()


Try
cnn = New SqlConnection("data source=(local)\SqlExpress;initial
catalog=dbventas;integrated security=true")
cnn.Open()
Return True
Catch ex As Exception
MsgBox(ex.Message)
Return False
End Try
End Function

Protected Function desconectado()


Try
If cnn.State = ConnectionState.Open Then
cnn.Close()
Return True
Else
Return False
End If
Catch ex As Exception
MsgBox(ex.Message)
Return False
End Try
End Function

End Class
Vb vcategoria

Imports System.Data.SqlClient
Public Class fcategoria
Inherits conexion
Dim cmd As New SqlCommand

Public Function mostrar() As DataTable


Try
conectado()
cmd = New SqlCommand("mostrar_categoria")
cmd.CommandType = CommandType.StoredProcedure
cmd.Connection = cnn

If cmd.ExecuteNonQuery Then
Dim dt As New DataTable
Dim da As New SqlDataAdapter(cmd)
da.Fill(dt)
Return dt
Else
Return Nothing
End If
Catch ex As Exception
MsgBox(ex.Message)
Return Nothing
Finally
desconectado()
End Try
End Function

Public Function insertar(ByVal dts As vcategoria) As Boolean


Try
conectado()
cmd = New SqlCommand("insertar_categoria")
cmd.CommandType = CommandType.StoredProcedure
cmd.Connection = cnn
cmd.Parameters.AddWithValue("@nombre_categoria",
dts.gnombre_categoria)

If cmd.ExecuteNonQuery Then
Return True
Else
Return False
End If
Catch ex As Exception
MsgBox(ex.Message)
Return False
Finally
desconectado()
End Try
End Function

Public Function editar(ByVal dts As vcategoria) As Boolean


Try
conectado()
cmd = New SqlCommand("editar_categoria")
cmd.CommandType = CommandType.StoredProcedure
cmd.Connection = cnn
cmd.Parameters.AddWithValue("@idcategoria", dts.gidcategoria)
cmd.Parameters.AddWithValue("@nombre_categoria",
dts.gnombre_categoria)

If cmd.ExecuteNonQuery Then
Return True
Else
Return False
End If
Catch ex As Exception
MsgBox(ex.Message)
Return False
Finally
desconectado()
End Try
End Function

Public Function eliminar(ByVal dts As vcategoria) As Boolean


Try
conectado()
cmd = New SqlCommand("eliminar_categoria")
cmd.CommandType = CommandType.StoredProcedure
cmd.Connection = cnn
cmd.Parameters.Add("@idcategoria", SqlDbType.NVarChar, 50).Value =
dts.gidcategoria

If cmd.ExecuteNonQuery Then
Return True
Else
Return False
End If

Catch ex As Exception
MsgBox(ex.Message)
Return False
End Try
End Function
End Class

VB fc cliente

Imports System.Data.SqlClient
Public Class fcliente
Inherits conexion
Dim cmd As New SqlCommand

Public Function mostrar() As DataTable


Try
conectado()
cmd = New SqlCommand("mostrar_cliente")
cmd.CommandType = CommandType.StoredProcedure
cmd.Connection = cnn

If cmd.ExecuteNonQuery Then
Dim dt As New DataTable
Dim da As New SqlDataAdapter(cmd)
da.Fill(dt)
Return dt
Else
Return Nothing
End If
Catch ex As Exception
MsgBox(ex.Message)
Return Nothing
Finally
desconectado()
End Try
End Function

Public Function insertar(ByVal dts As vcliente) As Boolean


Try
conectado()
cmd = New SqlCommand("insertar_cliente")
cmd.CommandType = CommandType.StoredProcedure
cmd.Connection = cnn
cmd.Parameters.AddWithValue("@nombre", dts.gnombres)
cmd.Parameters.AddWithValue("@apellidos", dts.gapellidos)
cmd.Parameters.AddWithValue("@direccion", dts.gdireccion)
cmd.Parameters.AddWithValue("@dni", dts.gdni)
cmd.Parameters.AddWithValue("@telefono", dts.gtelefono)
If cmd.ExecuteNonQuery Then
Return True
Else
Return False
End If
Catch ex As Exception
MsgBox(ex.Message)
Return False
Finally
desconectado()
End Try
End Function

Public Function editar(ByVal dts As vcliente) As Boolean


Try
conectado()
cmd = New SqlCommand("editar_cliente")
cmd.CommandType = CommandType.StoredProcedure
cmd.Connection = cnn
cmd.Parameters.AddWithValue("@idcliente", dts.gidcliente)
cmd.Parameters.AddWithValue("@nombre", dts.gnombres)
cmd.Parameters.AddWithValue("@apellidos", dts.gapellidos)
cmd.Parameters.AddWithValue("@direccion", dts.gdireccion)
cmd.Parameters.AddWithValue("@dni", dts.gdni)
cmd.Parameters.AddWithValue("@telefono", dts.gtelefono)
If cmd.ExecuteNonQuery Then
Return True
Else
Return False
End If
Catch ex As Exception
MsgBox(ex.Message)
Return False
Finally
desconectado()
End Try
End Function

Public Function eliminar(ByVal dts As vcliente) As Boolean


Try
conectado()
cmd = New SqlCommand("eliminar_cliente")
cmd.CommandType = CommandType.StoredProcedure
cmd.Connection = cnn
cmd.Parameters.Add("@idcliente", SqlDbType.NVarChar, 50).Value =
dts.gidcliente

If cmd.ExecuteNonQuery Then
Return True
Else
Return False
End If

Catch ex As Exception
MsgBox(ex.Message)
Return False
End Try
End Function
End Class

Fcproducto
Imports System.Data.SqlClient

Public Class fproducto


Inherits conexion
Dim cmd As New SqlCommand

Public Function mostrar() As DataTable


Try
conectado()
cmd = New SqlCommand("mostrar_producto")
cmd.CommandType = CommandType.StoredProcedure
cmd.Connection = cnn

If cmd.ExecuteNonQuery Then
Dim dt As New DataTable
Dim da As New SqlDataAdapter(cmd)
da.Fill(dt)
Return dt
Else
Return Nothing
End If
Catch ex As Exception
MsgBox(ex.Message)
Return Nothing
Finally
desconectado()
End Try
End Function

Public Function insertar(ByVal dts As vproducto) As Boolean


Try
conectado()
cmd = New SqlCommand("insertar_producto")
cmd.CommandType = CommandType.StoredProcedure
cmd.Connection = cnn
cmd.Parameters.AddWithValue("@idcategoria", dts.gidcategoria)
cmd.Parameters.AddWithValue("@nombre", dts.gnombre)
cmd.Parameters.AddWithValue("@descripcion", dts.gdescripcion)
cmd.Parameters.AddWithValue("@stock", dts.gstock)
cmd.Parameters.AddWithValue("@precio_compra", dts.gprecio_compra)
cmd.Parameters.AddWithValue("@precio_venta", dts.gprecio_venta)
cmd.Parameters.AddWithValue("@fecha_vencimiento",
dts.gfecha_vencimiento)
cmd.Parameters.AddWithValue("@imagen", dts.gimagen)

If cmd.ExecuteNonQuery Then
Return True
Else
Return False
End If
Catch ex As Exception
MsgBox(ex.Message)
Return False
Finally
desconectado()
End Try
End Function

Public Function editar(ByVal dts As vproducto) As Boolean


Try
conectado()
cmd = New SqlCommand("editar_producto")
cmd.CommandType = CommandType.StoredProcedure
cmd.Connection = cnn
cmd.Parameters.AddWithValue("@idproducto", dts.gidproducto)
cmd.Parameters.AddWithValue("@idcategoria", dts.gidcategoria)
cmd.Parameters.AddWithValue("@nombre", dts.gnombre)
cmd.Parameters.AddWithValue("@descripcion", dts.gdescripcion)
cmd.Parameters.AddWithValue("@stock", dts.gstock)
cmd.Parameters.AddWithValue("@precio_compra", dts.gprecio_compra)
cmd.Parameters.AddWithValue("@precio_venta", dts.gprecio_venta)
cmd.Parameters.AddWithValue("@fecha_vencimiento",
dts.gfecha_vencimiento)
cmd.Parameters.AddWithValue("@imagen", dts.gimagen)
If cmd.ExecuteNonQuery Then
Return True
Else
Return False
End If
Catch ex As Exception
MsgBox(ex.Message)
Return False
Finally
desconectado()
End Try
End Function

Public Function eliminar(ByVal dts As vproducto) As Boolean


Try
conectado()
cmd = New SqlCommand("eliminar_producto")
cmd.CommandType = CommandType.StoredProcedure
cmd.Connection = cnn
cmd.Parameters.Add("@idproducto", SqlDbType.NVarChar, 50).Value =
dts.gidproducto

If cmd.ExecuteNonQuery Then
Return True
Else
Return False
End If

Catch ex As Exception
MsgBox(ex.Message)
Return False
End Try
End Function
End Class

Categoría
Public Class vcategoria
Dim idcategoria As Integer
Dim nombre_Categoria As String

Public Property gidcategoria


Get
Return idcategoria
End Get
Set(value)
idcategoria = value
End Set
End Property

Public Property gnombre_categoria


Get
Return nombre_Categoria
End Get
Set(value)
nombre_Categoria = value
End Set
End Property

Public Sub New()


End Sub

Public Sub New(ByVal idcategoria As Integer, ByVal nombre_categoria As


Integer)
gidcategoria = idcategoria
gnombre_categoria = nombre_categoria
End Sub

End Class
Fr
Public Class frmcategoria
Private dt As New DataTable

Private Sub frmcategoria_Load(sender As Object, e As EventArgs) Handles


MyBase.Load
mostrar()
End Sub

Public Sub limpiar()


btnguardar.Visible = True
btneditar.Visible = False
txtnombre.Text = ""
txtidcategoria.Text = ""
End Sub

Private Sub mostrar()


Try
Dim func As New fcategoria
dt = func.mostrar
datalistado.Columns.Item("Eliminar").Visible = False

If dt.Rows.Count <> 0 Then


datalistado.DataSource = dt
txtbuscar.Enabled = True
datalistado.ColumnHeadersVisible = True
inexistente.visible = False
Else
datalistado.DataSource = Nothing
txtbuscar.Enabled = False
datalistado.ColumnHeadersVisible = False
inexistente.Visible = True
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
btnnuevo.Visible = True
btneditar.Visible = False

buscar()
End Sub

Private Sub buscar()


Try
Dim ds As New DataSet
ds.Tables.Add(dt.Copy)
Dim dv As New DataView(ds.Tables(0))

dv.RowFilter = cbocampo.Text & " like '" & txtbuscar.Text & "%'"

If dv.Count <> 0 Then


inexistente.Visible = False
datalistado.DataSource = dv
ocultar_columnas()
Else
inexistente.Visible = True
datalistado.DataSource = Nothing
End If

Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub

Private Sub ocultar_columnas()


datalistado.Columns(1).Visible = False

End Sub

Private Sub txtnombre_Validating(sender As Object, e As


System.ComponentModel.CancelEventArgs) Handles txtnombre.Validating
If DirectCast(sender, TextBox).Text.Length > 0 Then
Me.erroricono.SetError(sender, "")
Else
Me.erroricono.SetError(sender, "Ingrese el nombre del cliente por
favor, el dato es obligatorio")
End If
End Sub

Private Sub btnnuevo_Click(sender As Object, e As EventArgs) Handles


btnnuevo.Click
limpiar()
mostrar()
End Sub

Private Sub btnguardar_Click(sender As Object, e As EventArgs) Handles


btnguardar.Click
If Me.ValidateChildren = True And txtnombre.Text <> "" Then
Try
Dim dts As New vcategoria
Dim func As New fcategoria
dts.gnombre_categoria = txtnombre.Text
If func.insertar(dts) Then
MessageBox.Show("Categoria registrada correctamente",
"Guardando registros", MessageBoxButtons.OK, MessageBoxIcon.Information)
mostrar()
limpiar()
Else
MessageBox.Show("Categoría no fue registrada, intente de
nuevo", "Guardando registros", MessageBoxButtons.OK, MessageBoxIcon.Error)
mostrar()
limpiar()
End If

Catch ex As Exception
MsgBox(ex.Message)
End Try
Else
MessageBox.Show("Falta ingresar algunos datos", "Guardando
registros", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End Sub
Private Sub datalistado_CellClick(sender As Object, e As
DataGridViewCellEventArgs) Handles datalistado.CellClick
txtidcategoria.Text = datalistado.SelectedCells.Item(1).Value
txtnombre.Text = datalistado.SelectedCells.Item(2).Value
btneditar.Visible = True
btnguardar.Visible = False

End Sub

Private Sub btneditar_Click(sender As Object, e As EventArgs) Handles


btneditar.Click
Dim result As DialogResult
result = MessageBox.Show("¿ Realmente desea editar los datos de la
categoria ?", "Modificando registros", MessageBoxButtons.OKCancel,
MessageBoxIcon.Question)
If result = DialogResult.OK Then

If Me.ValidateChildren = True And txtnombre.Text <> "" And


txtidcategoria.Text <> "" Then
Try
Dim dts As New vcategoria
Dim func As New fcategoria

dts.gidcategoria = txtidcategoria.Text
dts.gnombre_categoria = txtnombre.Text

If func.editar(dts) Then
MessageBox.Show("Categoria modificada correctamente",
"Modificando registros", MessageBoxButtons.OK, MessageBoxIcon.Information)
mostrar()
limpiar()
Else
MessageBox.Show("Categoria no fue modificada, intente de
nuevo", "Modificando registros", MessageBoxButtons.OK, MessageBoxIcon.Error)
mostrar()
limpiar()
End If

Catch ex As Exception
MsgBox(ex.Message)
End Try
Else
MessageBox.Show("Falta ingresar algunos datos", "Modificando
registros", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End If
End Sub

Private Sub cbeliminar_CheckedChanged(sender As Object, e As EventArgs)


Handles cbeliminar.CheckedChanged
If cbeliminar.CheckState = CheckState.Checked Then
datalistado.Columns.Item("Eliminar").Visible = True
Else
datalistado.Columns.Item("Eliminar").Visible = False
End If

End Sub

Private Sub datalistado_CellContentClick(sender As Object, e As


DataGridViewCellEventArgs) Handles datalistado.CellContentClick
If e.ColumnIndex = Me.datalistado.Columns.Item("Eliminar").Index Then
Dim chkcell As DataGridViewCheckBoxCell =
Me.datalistado.Rows(e.RowIndex).Cells("Eliminar")
chkcell.Value = Not chkcell.Value
End If
End Sub

Private Sub btneleminar_Click(sender As Object, e As EventArgs) Handles


btneleminar.Click
Dim result As DialogResult
result = MessageBox.Show("¿Realmente desea eliminar las categorias
seleccionadas?", "Eliminando registros", MessageBoxButtons.OKCancel,
MessageBoxIcon.Question)
If result = DialogResult.OK Then
Try
For Each row As DataGridViewRow In datalistado.Rows
Dim marcado As Boolean =
Convert.ToBoolean(row.Cells("Eliminar").Value)
If marcado Then
Dim onekey As Integer =
Convert.ToInt32(row.Cells("idcategoria").Value)
Dim vdb As New vcategoria
Dim func As New fcategoria
vdb.gidcategoria = onekey
If func.eliminar(vdb) Then
Else
MessageBox.Show("Categoría no fue eliminado",
"Eliminando registros", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End If
Next
Call mostrar()
Catch ex As Exception
MsgBox(ex.Message)
End Try
Else
MessageBox.Show("Cancelando eliminación de registros", "Eliminando
registros", MessageBoxButtons.OK, MessageBoxIcon.Information)
Call mostrar()
End If
Call limpiar()
End Sub

Private Sub datalistado_CellDoubleClick(sender As Object, e As


DataGridViewCellEventArgs) Handles datalistado.CellDoubleClick
If txtflag.Text = "1" Then
frmproducto.txtidcategoria.Text =
datalistado.SelectedCells.Item(1).Value
frmproducto.txtnom_categoria.Text =
datalistado.SelectedCells.Item(2).Value
Me.Close()
End If
End Sub
End Class
Frmcliente

Public Class frmcliente

Private dt As New DataTable

Private Sub fmrcliente_Load(sender As Object, e As EventArgs) Handles


MyBase.Load
mostrar()
End Sub

Public Sub limpiar()


btnguardar.Visible = True
btneditar.Visible = False
txtnombre.Text = ""
txtapellidos.Text = ""
txtdireccion.Text = ""
txttelefono.Text = ""
txtdni.Text = ""
txtidcliente.Text = ""
End Sub

Private Sub mostrar()


Try
Dim func As New fcliente
dt = func.mostrar
datalistado.Columns.Item("Eliminar").Visible = False

If dt.Rows.Count <> 0 Then


datalistado.DataSource = dt
txtbuscar.Enabled = True
datalistado.ColumnHeadersVisible = True
inexistente.visible = False
Else
datalistado.DataSource = Nothing
txtbuscar.Enabled = False
datalistado.ColumnHeadersVisible = False
inexistente.Visible = True
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
btnnuevo.Visible = True
btneditar.Visible = False

buscar()
End Sub

Private Sub buscar()


Try
Dim ds As New DataSet
ds.Tables.Add(dt.Copy)
Dim dv As New DataView(ds.Tables(0))

dv.RowFilter = cbocampo.Text & " like'" & txtbuscar.Text & "%'"

If dv.Count <> 0 Then


inexistente.Visible = False
datalistado.DataSource = dv
ocultar_columnas()
Else
inexistente.Visible = True
datalistado.DataSource = Nothing
End If

Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub

Private Sub ocultar_columnas()


datalistado.Columns(1).Visible = False

End Sub

Private Sub txtnombre_Validating(sender As Object, e As


System.ComponentModel.CancelEventArgs) Handles txtnombre.Validating
If DirectCast(sender, TextBox).Text.Length > 0 Then
Me.erroricono.SetError(sender, "")
Else
Me.erroricono.SetError(sender, "Ingrese el nombre del cliente por
favor, el dato es obligatorio")
End If
End Sub

Private Sub txtapellidos_Validating(sender As Object, e As


System.ComponentModel.CancelEventArgs) Handles txtapellidos.Validating
If DirectCast(sender, TextBox).Text.Length > 0 Then
Me.erroricono.SetError(sender, "")
Else
Me.erroricono.SetError(sender, "Ingrese los apellidos del cliente por
favor, el dato es obligatorio")
End If
End Sub

Private Sub txtdireccion_Validating(sender As Object, e As EventArgs) Handles


txtdireccion.Validating
If DirectCast(sender, TextBox).Text.Length > 0 Then
Me.erroricono.SetError(sender, "")
Else
Me.erroricono.SetError(sender, "Ingrese la direccion del cliente por
favor, el dato es obligatorio")
End If
End Sub

Private Sub txtdni_Validating(sender As Object, e As


System.ComponentModel.CancelEventArgs) Handles txtdni.Validating
If DirectCast(sender, TextBox).Text.Length > 0 Then
Me.erroricono.SetError(sender, "")
Else
Me.erroricono.SetError(sender, "Ingrese el DNI del cliente por favor,
el dato es obligatorio")
End If
End Sub

Private Sub btnnuevo_Click(sender As Object, e As EventArgs) Handles


btnnuevo.Click
limpiar()
mostrar()
End Sub

Private Sub btnguardar_Click(sender As Object, e As EventArgs) Handles


btnguardar.Click
If Me.ValidateChildren = True And txtnombre.Text <> "" And
txtapellidos.Text <> "" And txtdireccion.Text <> "" And txttelefono.Text <> ""
And txtdni.Text <> "" Then
Try
Dim dts As New vcliente
Dim func As New fcliente

dts.gnombres = txtnombre.Text
dts.gapellidos = txtapellidos.Text
dts.gdireccion = txtdireccion.Text
dts.gdni = txtdni.Text
dts.gtelefono = txttelefono.Text

If func.insertar(dts) Then
MessageBox.Show("Cliente registrado correctamente",
"Guardando registros", MessageBoxButtons.OK, MessageBoxIcon.Information)
mostrar()
limpiar()
Else
MessageBox.Show("Cliente no registrado, intente de nuevo",
"Guardando registros", MessageBoxButtons.OK, MessageBoxIcon.Error)
mostrar()
limpiar()
End If

Catch ex As Exception
MsgBox(ex.Message)
End Try
Else
MessageBox.Show("Falta ingresar algunos datos", "Guardando
registros", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End Sub

Private Sub datalistado_CellClick(sender As Object, e As


DataGridViewCellEventArgs) Handles datalistado.CellClick
txtidcliente.Text = datalistado.SelectedCells.Item(1).Value
txtnombre.Text = datalistado.SelectedCells.Item(2).Value
txtapellidos.Text = datalistado.SelectedCells.Item(3).Value
txtdireccion.Text = datalistado.SelectedCells.Item(4).Value
txttelefono.Text = datalistado.SelectedCells.Item(5).Value
txtdni.Text = datalistado.SelectedCells.Item(6).Value
btneditar.Visible = True
btnguardar.Visible = False

End Sub

Private Sub btneditar_Click(sender As Object, e As EventArgs) Handles


btneditar.Click
Dim result As DialogResult
result = MessageBox.Show("¿ Realmente desea editar los datos del cliente
?", "Modificando registros", MessageBoxButtons.OKCancel, MessageBoxIcon.Question)
If result = DialogResult.OK Then

If Me.ValidateChildren = True And txtnombre.Text <> "" And


txtapellidos.Text <> "" And txtdireccion.Text <> "" And txttelefono.Text <> ""
And txtdni.Text <> "" And txtidcliente.Text <> "" Then
Try
Dim dts As New vcliente
Dim func As New fcliente

dts.gidcliente = txtidcliente.Text
dts.gnombres = txtnombre.Text
dts.gapellidos = txtapellidos.Text
dts.gdireccion = txtdireccion.Text
dts.gdni = txtdni.Text
dts.gtelefono = txttelefono.Text

If func.editar(dts) Then
MessageBox.Show("Cliente modificado correctamente",
"Modificando registros", MessageBoxButtons.OK, MessageBoxIcon.Information)
mostrar()
limpiar()
Else
MessageBox.Show("Cliente no modificado, intente de
nuevo", "Modificando registros", MessageBoxButtons.OK, MessageBoxIcon.Error)
mostrar()
limpiar()
End If

Catch ex As Exception
MsgBox(ex.Message)
End Try
Else
MessageBox.Show("Falta ingresar algunos datos", "Modificando
registros", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End If
End Sub

Private Sub cbeliminar_CheckedChanged(sender As Object, e As EventArgs)


Handles cbeliminar.CheckedChanged
If cbeliminar.CheckState = CheckState.Checked Then
datalistado.Columns.Item("Eliminar").Visible = True
Else
datalistado.Columns.Item("Eliminar").Visible = False
End If

End Sub

Private Sub datalistado_CellContentClick(sender As Object, e As


DataGridViewCellEventArgs) Handles datalistado.CellContentClick
If e.ColumnIndex = Me.datalistado.Columns.Item("Eliminar").Index Then
Dim chkcell As DataGridViewCheckBoxCell =
Me.datalistado.Rows(e.RowIndex).Cells("Eliminar")
chkcell.Value = Not chkcell.Value
End If
End Sub

Private Sub btneleminar_Click(sender As Object, e As EventArgs) Handles


btneleminar.Click
Dim result As DialogResult
result = MessageBox.Show("¿Realmente desea eliminar los clientes
sleccionados?", "Eliminando registros", MessageBoxButtons.OKCancel,
MessageBoxIcon.Question)
If result = DialogResult.OK Then
Try
For Each row As DataGridViewRow In datalistado.Rows
Dim marcado As Boolean =
Convert.ToBoolean(row.Cells("Eliminar").Value)
If marcado Then
Dim onekey As Integer =
Convert.ToInt32(row.Cells("idcliente").Value)
Dim vdb As New vcliente
Dim func As New fcliente
vdb.gidcliente = onekey
If func.eliminar(vdb) Then
Else
MessageBox.Show("Cliente no fue eliminado",
"Eliminando registros", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End If
Next
Call mostrar()
Catch ex As Exception
MsgBox(ex.Message)
End Try
Else
MessageBox.Show("Cancelando eliminación de registros", "Eliminando
registros", MessageBoxButtons.OK, MessageBoxIcon.Information)
Call mostrar()
End If
Call limpiar()
End Sub
End Class

Frmproducto
Public Class frmproducto

Private dt As New DataTable

Private Sub frmproducto_Load(sender As Object, e As EventArgs) Handles


MyBase.Load
mostrar()
End Sub

Public Sub limpiar()


btnguardar.Visible = True
btneditar.Visible = False
txtnombre.Text = ""
txtdescripcion.Text = ""
txtstock.Text = "0"
txtprecio_compra.Text = "0"
txtprecio_venta.Text = "0"
txtidproducto.Text = ""

imagen.Image = Nothing
imagen.BackgroundImage = My.Resources.imagentrans
imagen.SizeMode = PictureBoxSizeMode.StretchImage
End Sub

Private Sub mostrar()


Try
Dim func As New fproducto
dt = func.mostrar
datalistado.Columns.Item("Eliminar").Visible = False

If dt.Rows.Count <> 0 Then


datalistado.DataSource = dt
txtbuscar.Enabled = True
datalistado.ColumnHeadersVisible = True
inexistente.visible = False
Else
datalistado.DataSource = Nothing
txtbuscar.Enabled = False
datalistado.ColumnHeadersVisible = False
inexistente.Visible = True
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
btnnuevo.Visible = True
btneditar.Visible = False

buscar()
End Sub

Private Sub buscar()


Try
Dim ds As New DataSet
ds.Tables.Add(dt.Copy)
Dim dv As New DataView(ds.Tables(0))

dv.RowFilter = cbocampo.Text & " like'" & txtbuscar.Text & "%'"

If dv.Count <> 0 Then


inexistente.Visible = False
datalistado.DataSource = dv
ocultar_columnas()
Else
inexistente.Visible = True
datalistado.DataSource = Nothing
End If

Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub

Private Sub ocultar_columnas()


datalistado.Columns(1).Visible = False
datalistado.Columns(2).Visible = False

End Sub

Private Sub txtnombre_Validating(sender As Object, e As


System.ComponentModel.CancelEventArgs) Handles txtnombre.Validating
If DirectCast(sender, TextBox).Text.Length > 0 Then
Me.erroricono.SetError(sender, "")
Else
Me.erroricono.SetError(sender, "Ingrese el nombre del cliente por
favor, el dato es obligatorio")
End If
End Sub

Private Sub btnnuevo_Click(sender As Object, e As EventArgs) Handles


btnnuevo.Click
limpiar()
mostrar()
End Sub

Private Sub btnguardar_Click(sender As Object, e As EventArgs) Handles


btnguardar.Click
If Me.ValidateChildren = True And txtnombre.Text <> "" And
txtdescripcion.Text <> "" And txtstock.Text <> "" And txtprecio_compra.Text <> ""
And txtprecio_venta.Text <> "" Then
Try
Dim dts As New vproducto
Dim func As New fproducto

dts.gnombre = txtnombre.Text
dts.gidcategoria = txtidcategoria.Text
dts.gdescripcion = txtdescripcion.Text
dts.gstock = txtstock.Text
dts.gprecio_compra = txtprecio_compra.Text
dts.gprecio_venta = txtprecio_venta.Text
dts.gfecha_vencimiento = txtfecha_vencimiento.Text

Dim ms As New IO.MemoryStream()


If Not imagen.Image Is Nothing Then
imagen.Image.Save(ms, imagen.Image.RawFormat)
Else
imagen.Image = My.Resources.imagentrans
imagen.Image.Save(ms, imagen.Image.RawFormat)
End If
dts.gimagen = ms.GetBuffer

If func.insertar(dts) Then
MessageBox.Show("Producto registrado correctamente",
"Guardando registros", MessageBoxButtons.OK, MessageBoxIcon.Information)
mostrar()
limpiar()
Else
MessageBox.Show("Producto no fue registrado, intente de
nuevo", "Guardando registros", MessageBoxButtons.OK, MessageBoxIcon.Error)
mostrar()
limpiar()
End If

Catch ex As Exception
MsgBox(ex.Message)
End Try
Else
MessageBox.Show("Falta ingresar algunos datos", "Guardando
registros", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End Sub

Private Sub datalistado_CellClick(sender As Object, e As


DataGridViewCellEventArgs) Handles datalistado.CellClick
txtidproducto.Text = datalistado.SelectedCells.Item(1).Value
txtidcategoria.Text = datalistado.SelectedCells.Item(2).Value
txtnom_categoria.Text = datalistado.SelectedCells.Item(3).Value
txtnombre.Text = datalistado.SelectedCells.Item(4).Value
txtdescripcion.Text = datalistado.SelectedCells.Item(5).Value
txtstock.Text = datalistado.SelectedCells.Item(6).Value
txtprecio_compra.Text = datalistado.SelectedCells.Item(7).Value
txtprecio_venta.Text = datalistado.SelectedCells.Item(8).Value
txtfecha_vencimiento.Text = datalistado.SelectedCells.Item(9).Value

imagen.BackgroundImage = Nothing
Dim b() As Byte = datalistado.SelectedCells.Item(10).Value
Dim ms As New IO.MemoryStream(b)
imagen.Image = Image.FromStream(ms)
imagen.SizeMode = PictureBoxSizeMode.StretchImage

btneditar.Visible = True
btnguardar.Visible = False

End Sub

Private Sub btneditar_Click(sender As Object, e As EventArgs) Handles


btneditar.Click
Dim result As DialogResult
result = MessageBox.Show("¿ Realmente desea editar los datos del producto
?", "Modificando registros", MessageBoxButtons.OKCancel, MessageBoxIcon.Question)
If result = DialogResult.OK Then

If Me.ValidateChildren = True And txtnombre.Text <> "" And


txtdescripcion.Text <> "" And txtstock.Text <> "" And txtprecio_compra.Text <> ""
And txtprecio_venta.Text <> "" And txtidproducto.Text <> "" Then
Try
Dim dts As New vproducto
Dim func As New fproducto

dts.gidproducto = txtidproducto.Text
dts.gnombre = txtnombre.Text
dts.gidcategoria = txtidcategoria.Text
dts.gdescripcion = txtdescripcion.Text
dts.gstock = txtstock.Text
dts.gprecio_compra = txtprecio_compra.Text
dts.gprecio_venta = txtprecio_venta.Text
dts.gfecha_vencimiento = txtfecha_vencimiento.Text

Dim ms As New IO.MemoryStream()


If Not imagen.Image Is Nothing Then
imagen.Image.Save(ms, imagen.Image.RawFormat)
Else
imagen.Image = My.Resources.imagentrans
imagen.Image.Save(ms, imagen.Image.RawFormat)
End If
dts.gimagen = ms.GetBuffer

If func.editar(dts) Then
MessageBox.Show("Producto modificado correctamente",
"Modificando registros", MessageBoxButtons.OK, MessageBoxIcon.Information)
mostrar()
limpiar()
Else
MessageBox.Show("Producto no fue modificado, intente de
nuevo", "Modificando registros", MessageBoxButtons.OK, MessageBoxIcon.Error)
mostrar()
limpiar()
End If

Catch ex As Exception
MsgBox(ex.Message)
End Try
Else
MessageBox.Show("Falta ingresar algunos datos", "Modificando
registros", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End If
End Sub

Private Sub cbeliminar_CheckedChanged(sender As Object, e As EventArgs)


Handles cbeliminar.CheckedChanged
If cbeliminar.CheckState = CheckState.Checked Then
datalistado.Columns.Item("Eliminar").Visible = True
Else
datalistado.Columns.Item("Eliminar").Visible = False
End If

End Sub

Private Sub datalistado_CellContentClick(sender As Object, e As


DataGridViewCellEventArgs) Handles datalistado.CellContentClick
If e.ColumnIndex = Me.datalistado.Columns.Item("Eliminar").Index Then
Dim chkcell As DataGridViewCheckBoxCell =
Me.datalistado.Rows(e.RowIndex).Cells("Eliminar")
chkcell.Value = Not chkcell.Value
End If
End Sub

Private Sub btneleminar_Click(sender As Object, e As EventArgs) Handles


btneleminar.Click
Dim result As DialogResult
result = MessageBox.Show("¿Realmente desea eliminar los productos
seleccionados?", "Eliminando registros", MessageBoxButtons.OKCancel,
MessageBoxIcon.Question)
If result = DialogResult.OK Then
Try
For Each row As DataGridViewRow In datalistado.Rows
Dim marcado As Boolean =
Convert.ToBoolean(row.Cells("Eliminar").Value)
If marcado Then
Dim onekey As Integer =
Convert.ToInt32(row.Cells("idproducto").Value)
Dim vdb As New vproducto
Dim func As New fproducto
vdb.gidproducto = onekey
If func.eliminar(vdb) Then
Else
MessageBox.Show("Producto no fue eliminado",
"Eliminando registros", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End If
Next
Call mostrar()
Catch ex As Exception
MsgBox(ex.Message)
End Try
Else
MessageBox.Show("Cancelando eliminación de registros", "Eliminando
registros", MessageBoxButtons.OK, MessageBoxIcon.Information)
Call mostrar()
End If
Call limpiar()
End Sub

Private Sub btncargar_Click(sender As Object, e As EventArgs) Handles


btncargar.Click
If dlg.ShowDialog() = DialogResult.OK Then
imagen.BackgroundImage = Nothing
imagen.Image = New Bitmap(dlg.FileName)
imagen.SizeMode = PictureBoxSizeMode.StretchImage
End If
End Sub

Private Sub btnlimpiar_Click(sender As Object, e As EventArgs) Handles


btnlimpiar.Click
imagen.Image = Nothing
imagen.BackgroundImage = My.Resources.imagentrans
imagen.SizeMode = PictureBoxSizeMode.StretchImage
End Sub

Private Sub btnbuscarcategoria_Click(sender As Object, e As EventArgs)


Handles btnbuscarcategoria.Click
frmcategoria.txtflag.Text = "1"
frmcategoria.ShowDialog()
End Sub

Private Sub GroupBox1_Enter(sender As Object, e As EventArgs) Handles


GroupBox1.Enter

End Sub
End Clas

Das könnte Ihnen auch gefallen