Sei sulla pagina 1di 5

PROGRAMANDO VISUAL .

NET Y SQL SERVER


Segunda Parte: PROGRAMANDO LA BARRA DE OPERACIONES Programaremos ahora, nuestra forma agregar trabajador. Y las funciones de cada barra.

Agregamos primero un nuevo formulario. Como controles utilizaremos los de Windows, para etiquetas y cajas de texto. Y para botones, utilizaremos los de Component one (c1button).

Para agregar una imagen al botn, modificamos las propiedades image, imagealingn, textalingn. Enlazamos nuestro formulario trabajador con el formulario que le llama (Catlago). Crearemos en el formulario catalogo una funcin nuevo. Private Sub nuevo() Dim frmt As New FrmTrabajador If frmt.ShowDialog(Me) = Windows.Forms.DialogResult.OK Then End If frmt = Nothing refrescar() End Sub Llamamos a esta funcion desde nuestra barra. Case "nuevo" ' ButtonTool ' Place code here nuevo()

Ahora en el cdigo de nuestro formulario importamos nuestras libreras. Imports DAL Imports Datamodel
1

Imports System.Data

Recuerde que nuestra tabla el campo llave no es autoincremento, por lo que tenemos que generar nosotros el siguiente numero. Esto es al dar clic en el botn nuevo, queremos lo siguiente.

Y si no hay ningn registro, entonces comenzar desde uno. Entonces, dentro de la clase del formulario declaramos las siguientes variables. Private m_trabajador As Trabajador Dim strcont As String Dim cont As Integer Es conveniente que convertir la variable m_trabajador en propiedad y comenzar siempre con m.

En el load del formulario Private Sub FrmTrabajador_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load If Not m_trabajador Is Nothing Then Txtidt.Text = m_trabajador.idt Me.TxtNombre.Text = m_trabajador.nombre Me.Txtoficio.Text = m_trabajador.oficio Me.Txttelefono.Text = m_trabajador.telefono
2

Else Dim dtconsecutivo As DataTable = SqlHelper.ExecuteQueryDT("Select max(idt) as contador from dbo.trabajador") If IsDBNull(dtconsecutivo.Rows(0)("contador")) = False Then strcont = dtconsecutivo.Rows(0)("contador") End If cont = CLng(strcont) cont = cont + 1 Me.Txtidt.Text = "0" & CStr(cont) End If End Sub Para el caso de nuestro boton aceptar, lo que queremos es utilizar el mismo formulario guardar o modificar por lo tanto necesitamos una bandera que nos de el tipo de estado. Y asegurar una espacio para transacciones seguras, es decir, que no se guarde nada si no se logra la transaccion. Por ejemplo, estamos guardando y se va la energia, o un fallo en la conexin a nuestro servidor. Private Sub btAceptar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btAceptar.Click Dim nuevo As Boolean = False ' estado de actualizar o insertar Dim trans As New TransactionManager ' crear un espacio de transaccion para garantizar transacciones completas al guardar en la tabla Try 'comenzar If m_trabajador Is Nothing Then nuevo = True m_trabajador = New Trabajador m_trabajador.idt = Txtidt.Text m_trabajador.nombre = Me.TxtNombre.Text m_trabajador.oficio = Me.Txtoficio.Text m_trabajador.telefono = Me.Txttelefono.Text Else m_trabajador.nombre = Me.TxtNombre.Text m_trabajador.oficio = Me.Txtoficio.Text m_trabajador.telefono = Me.Txttelefono.Text End If trans.BeginTran() If nuevo Then m_trabajador.Insert(trans) Else m_trabajador.Update(trans) End If trans.CommitTran() Me.DialogResult = Windows.Forms.DialogResult.OK Catch ex As Exception trans.RollbackTran() End Try
3

trans = Nothing End Sub

Con esto ya estamos guardando datos en en la tabla. ************************************************************************************** Programaremos ahora el botn editar. Creamos la funcion editar de nuestro formulario catalogo. Es importante que el grib este el campo clave, aunque lo tengamos visible. Crearemos una clase para nuestr grib. (procesoigual que el app.config) y copiamos el codigo del archivo. Gribmanager. Creamo la funcion editar en nuestro formulario de catalogo (donde est el men). Private Sub editar() Dim drv As DataRow = GridManager.getgridselecteddrw(C1DBGEmpleado) If drv Is Nothing Then Exit Sub Dim frmt As New FrmTrabajador frmt.Trabajador = New Trabajador If frmt.Trabajador.Retrieve(drv("idt")) Then ' If frmt.ShowDialog(Me) = Windows.Forms.DialogResult.OK Then End If End If frmt = Nothing refrescar() End Sub Funcion eliminar Private Sub eliminar() Dim drv As DataRow = GridManager.getgridselecteddrw(C1DBGEmpleado) If drv Is Nothing Then Exit Sub If MessageBox.Show("Desea borrar el registro seleccionado", "Asignacion de Trabajos", MessageBoxButtons.YesNo, MessageBoxIcon.Question) <> Windows.Forms.DialogResult.Yes Then Exit Sub End If Trabajador.Delete(drv("idt")) Me.C1DBGEmpleado.Delete() End Sub

Para importar nuestros datos a excel. Primero agregamos un control de windows: Savefiledialog. Podemos cambiar el nombre y en la propiedad filter establcer el valor: (*.xls)|*.xls Private Sub excel() If Me.SFfichero.ShowDialog() = Windows.Forms.DialogResult.Cancel Then Exit Sub End If Dim sRuta As String = Me.SFfichero.FileName Dim dtv As DataView = New DataView(Me.dtcatalogoT, dtcatalogoT.DefaultView.RowFilter, "", DataViewRowState.CurrentRows) Dim grid As System.Web.UI.WebControls.DataGrid = New System.Web.UI.WebControls.DataGrid 'recordar agregar referencias si da error // System.Web grid.HeaderStyle.Font.Bold = True grid.HeaderStyle.BackColor = Color.PapayaWhip grid.HeaderStyle.ForeColor = Color.SteelBlue grid.DataSource = dtv grid.DataBind() Dim sw As StreamWriter = New StreamWriter(sRuta) Dim hw As HtmlTextWriter = New HtmlTextWriter(sw) grid.RenderBeginTag(hw) grid.RenderControl(hw) grid.RenderEndTag(hw) grid.Dispose() hw.Close() sw.Close() End Sub Nota: Agregamos referencia a System.Web si nos diera algun error.

Hasta aqu ya podemos desarrollar nuestra aplicacin.

Potrebbero piacerti anche