Escolar Documentos
Profissional Documentos
Cultura Documentos
Lab 02 y Lab 03
Lab 02 .Aplicacin Cliente - Servidor
Objetivo: Cancelar Cuota de Cronograma.
Datos Entrada:
TipoDocumento
Numero Documento
Datos Salida:
Cronograma Actualizado.
1. CLIENTE: Preparando la Interfaz de Usuario
Control Propiedad Observacion
GroupBox Text=TipoDocumento
RadioButton Name = rbFac
Text = Factura
Dentro del
GroupBox
RadioButton Name = rbBv
Text = Boleta
Checked = True
Dentro del
GroupBox
TextBox Name =TxtDocumento
ComboBox Name =CboFormaPago
CommandButton Text= Buscar
Label1 Text = Documento
DataGrid Name = dgvCronograma
SelectionMode=FullRowSet
ReadOnly=True
AllowUsersToAdd=False
AllowUsersToDelete=False
GroupBox Name=GroupBox2
Text = Cuota
ComboBox Name=CboLugarPago
DropDownStyle=DropDownList
Dentro del
GroupBox2
ComboBox Name=CboBanco
DropDownStyle=DropDownList
Dentro del
GroupBox2
ComboBox Name=CboMedioPago
DropDownStyle=DropDownList
Dentro del
GroupBox2
DataPicker Name=dpFechaVencimiento Dentro del
GroupBox2
CommandButton Name=CmdCancelar
Text=Cancelar Cuota
Dentro del
GroupBox2
TextBox Name=TxtNroCuota Dentro del
GroupBox2
TextBox Name=TxtCuota Dentro del
GroupBox2
Codificando
Al inicio del editor de codigo
--- Visual Basic
Imports System.Data.SqlClient
Imports System.Xml
Public Class Form1
Dim cn As New SqlConnection("Server=localhost;DataBase=TenebrosaOLTP; Integrated Security=True;")
Dim dtCrono As New DataTable
En el Load
============
Private Sub Form1_Load()
Me.LlenarCombos()
End Sub
Crear el Metodo: LllenarCombos
Private Sub LlenarCombos()
Dim daPago As New SqlDataAdapter("SELECT idmediopago, descripcion FROM MedioPago ORDER BY 2", cn)
Dim dtPago As New DataTable
daPago.Fill(dtPago)
CboMedioPago.ValueMember = "idmediopago"
CboMedioPago.DisplayMember = "descripcion"
CboMedioPago.DataSource = dtPago
' -- llenado Banco
Dim daBanco As New SqlDataAdapter("SELECT idbanco, nombreBanco FROM Banco ORDER BY 2", cn)
Dim dtBanco As New DataTable
daBanco.Fill(dtBanco)
CboBanco.ValueMember = "idbanco"
CboBanco.DisplayMember = "nombrebanco"
CboBanco.DataSource = dtBanco
' -- llenado PuntoPago
Dim daPuntoPago As New SqlDataAdapter("SELECT idpuntopago, descripcion FROM PuntoPago ORDER BY 2", cn)
Dim dtPuntoPago As New DataTable
daPuntoPago.Fill(dtPuntoPago)
CboLugarPago.ValueMember = "idpuntopago"
CboLugarPago.DisplayMember = "descripcion"
CboLugarPago.DataSource = dtPuntoPago
End Sub
Cmd_Buscar_Click
Me.LlenaCronograma()
Crear el Metodo:LlenarCronograma
Private Sub LlenaCronograma()
Dim vsql, tipodoc As String
If Me.rbFac.Checked = True Then
tipodoc = "F"
Else
tipodoc = "B"
End If
vsql = " EXEC _Cronograma @doc = '" & TxtDocumento.Text.Trim & "',@tdoc='" & tipodoc & "',@tipo=2"
Dim daCrono As New SqlDataAdapter(vsql, cn)
dtCrono.Clear()
daCrono.Fill(dtCrono)
dgvCronograma.DataSource = dtCrono
If dtCrono.Rows.Count = 0 Then
CmdCancelar.Enabled = False
Else
CmdCancelar.Enabled = True
End If
Me.DatosCuota()
End Sub
---LEER DATOS DE GRILLA
Private Sub DatosCuota()
If dtCrono.Rows.Count = 0 Then
Exit Sub
End If
Me.TxtNrocuota.Text = CStr(dgvCronograma.CurrentRow.Cells("NroCuota").Value)
Me.TxtCuota.Text = CStr(dgvCronograma.CurrentRow.Cells("Cuota").Value)
Me.dpFechaVencimiento.Value = CDate(dgvCronograma.CurrentRow.Cells("FeVence").Value)
End Sub
dgvCronograma_KeyDown
Me.DatosCuota()
dgvCronograma_KeyUp
Me.DatosCuota()
Grabando Datos
Private Sub GrabaDatos()
Dim vsql, ltipodoc As String
If Me.rbFac.Checked = True Then
ltipodoc = "F"
Else
ltipodoc = "B"
End If
vsql = " EXEC _Cronograma @doc = '" & TxtDocumento.Text.Trim & "',@tdoc='" & ltipodoc & "'"
vsql = vsql + ", @idMedio = '" & CboMedioPago.SelectedValue.ToString & "'"
vsql = vsql + ", @idBanco = '" & CboBanco.SelectedValue.ToString & "'"
vsql = vsql + ", @idPuntoPago='" & CboLugarPago.SelectedValue.ToString & "'"
vsql = vsql + ", @NroCuota = " & TxtNrocuota.Text.Trim & ", @tipo= 3"
cn.Open()
Dim cmGrabaCuota As New SqlCommand(vsql, cn)
cmGrabaCuota.ExecuteNonQuery()
cn.Close()
MessageBox.Show("Grabacion con Exito...")
Me.LlenaCronograma()
End Sub
CmdCancelar.Click
Me.GrabaDatos()
2. SERVIDOR: En el SQL Server
Crear el Store Procedure: _Cronograma
- Siga los pasos dados en clase.
3. Ejecute y haga el Testeo Respectivo
Lab 03.
En el servidor, haga para que aparezca en la grilla todas las cuotas
independientemente del estado de la cuota
Adapte el cliente para que solo permita cancelar cuotas pendientes de
pago.