elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  (ayuda vb2008)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: (ayuda vb2008)  (Leído 1,618 veces)
themonsterbest

Desconectado Desconectado

Mensajes: 3


Ver Perfil
(ayuda vb2008)
« en: 14 Diciembre 2011, 15:54 pm »

Hola como están?... quería ver si no podrían aclararme una duda... estoy trabajando en un formulario de Vb .net conectado a una base de datos en Oracle... el tema es que cuando se realice una modificación en una de las filas de la grilla guarde la fecha y la hora de dicha modificación en los campos correspondientes, ya hice una clase para dicho proceso pero tengo problemas para que se guarde en la grilla
disculpen mi ignorancia soy algo nuevo en esto
Desde ya gracias

El codigo en el formulario

Código:
    #Region "para modificar"
    Private Function dt_modificar() As DataTable
    Dim myDataTable As DataTable = New DataTable()

    Dim myDataColumn As DataColumn

    myDataColumn = New DataColumn()
    myDataColumn.DataType = Type.GetType("System.String" )
    myDataColumn.ColumnName = "cod_empresa"
    myDataTable.Columns.Add(myDataColumn)

    myDataColumn = New DataColumn()
    myDataColumn.DataType = Type.GetType("System.String" )
    myDataColumn.ColumnName = "nro_perfil"
    myDataTable.Columns.Add(myDataColumn)

    myDataColumn = New DataColumn()
    myDataColumn.DataType = Type.GetType("System.String" )
    myDataColumn.ColumnName = "fecha_creacion"
    myDataTable.Columns.Add(myDataColumn)

    myDataColumn = New DataColumn()
    myDataColumn.DataType = Type.GetType("System.String" )
    myDataColumn.ColumnName = "cod_persona"
    myDataTable.Columns.Add(myDataColumn)

    myDataColumn = New DataColumn()
    myDataColumn.DataType = Type.GetType("System.String" )
    myDataColumn.ColumnName = "nro_matricula"
    myDataTable.Columns.Add(myDataColumn)

    myDataColumn = New DataColumn()
    myDataColumn.DataType = Type.GetType("System.String" )
    myDataColumn.ColumnName = "usr_alta"
    myDataTable.Columns.Add(myDataColumn)

    myDataColumn = New DataColumn()
    myDataColumn.DataType = Type.GetType("System.String" )
    myDataColumn.ColumnName = "usr_modif"
    myDataTable.Columns.Add(myDataColumn)

    myDataColumn = New DataColumn()
    myDataColumn.DataType = Type.GetType("System.String" )
    myDataColumn.ColumnName = "fec_modif"
    myDataTable.Columns.Add(myDataColumn)

    myDataColumn = New DataColumn()
    myDataColumn.DataType = Type.GetType("System.String" )
    myDataColumn.ColumnName = "observacion"
    myDataTable.Columns.Add(myDataColumn)


    myDataColumn = New DataColumn()
    myDataColumn.DataType = Type.GetType("System.String" )
    myDataColumn.ColumnName = "carga_operacion"
    myDataTable.Columns.Add(myDataColumn)

    myDataColumn = New DataColumn()
    myDataColumn.DataType = Type.GetType("System.String" )
    myDataColumn.ColumnName = "tipo_documento"
    myDataTable.Columns.Add(myDataColumn)

    myDataColumn = New DataColumn()
    myDataColumn.DataType = Type.GetType("System.String" )
    myDataColumn.ColumnName = "nro_documento"
    myDataTable.Columns.Add(myDataColumn)

    Return myDataTable
    End Function

    Private Function add_dt_modificar(ByVal cod_empresa As String, ByVal nro_perfil As String, ByVal cod_persona As String, ByVal nro_matricula As String, ByVal usr_modif As String, ByVal fec_modif As Date, ByVal observacion As String, ByVal carga_operacion As String, ByVal tipo_documento As String, ByVal nro_documento As String, ByVal myTable As DataTable)
    Dim row As DataRow
    row = myTable.NewRow()
    row("cod_empresa" ) = cod_empresa
    row("nro_perfil" ) = nro_perfil

    row("cod_persona" ) = cod_persona
    row("nro_matricula" ) = nro_matricula

    row("usr_modif" ) = usr_modif
    row("fec_modif" ) = fec_modif
    row("observacion" ) = observacion
    row("carga_operacion" ) = carga_operacion
    row("tipo_documento" ) = tipo_documento
    row("nro_documento" ) = nro_documento

    myTable.Rows.Add(row)
    Return 0
    End Function

    Private Sub CargarTablaActualizar()
    If txt_nro_perfil.Text <> String.Empty And txt_cod_persona.Text <> String.Empty And txt_nro_matricula.Text <> String.Empty And txt_observacion.Text <> String.Empty And txt_carga_operacion.Text <> String.Empty And cb_tipo_documento.SelectedValue <> String.Empty And txt_nro_documento.Text <> String.Empty And My.Settings.validacion = 3 Then

    Dim va As Boolean = False
    If para_modificar.Rows.Count < -1 Then
    add_dt_modificar(My.Settings.cod_empresa.Trim(), Me.txt_nro_perfil.Text.Trim(), Me.txt_cod_persona.Text.Trim(), Me.txt_nro_matricula.Text.Trim(), Me.txt_usr_modif.Text.Trim(), Me.txt_fec_modif.Text.Trim(), Me.txt_observacion.Text.Trim(), Me.txt_carga_operacion.Text.Trim(), Me.cb_tipo_documento.SelectedValue.ToString(), Me.txt_nro_documento.Text.Trim(), para_modificar)
    Else
    For i = 0 To para_modificar.Rows.Count - 1
    If va = False Then
    If para_modificar.Rows(i)("nro_perfil" ).ToString() = txt_nro_perfil.Text Then

    para_modificar.Rows(i)("cod_persona" ) = txt_cod_persona.Text
    para_modificar.Rows(i)("nro_matricula" ) = txt_nro_matricula.Text

    para_modificar.Rows(i)("usr_modif" ) = txt_usr_modif.Text
    para_modificar.Rows(i)("fec_modif" ) = txt_fec_modif.Text
    para_modificar.Rows(i)("observacion" ) = txt_observacion.Text
    para_modificar.Rows(i)("carga_operacion" ) = txt_carga_operacion.Text
    para_modificar.Rows(i)("tipo_documento" ) = cb_tipo_documento.SelectedValue
    para_modificar.Rows(i)("nro_documento" ) = txt_nro_documento.Text
    va = True
    End If
    End If
    Next
    If va = False Then
    add_dt_modificar(My.Settings.cod_empresa.Trim(), Me.txt_nro_perfil.Text.Trim(), Me.txt_cod_persona.Text.Trim(), Me.txt_nro_matricula.Text.Trim(), Me.txt_usr_modif.Text.Trim(), Me.txt_fec_modif.Text.Trim(), Me.txt_observacion.Text.Trim(), Me.txt_carga_operacion.Text.Trim(), Me.cb_tipo_documento.SelectedValue, Me.txt_nro_documento.Text.Trim(), para_modificar)
    End If
    End If
    End If
    End Sub
    #End Region


   ' El proceso de guardar


    ElseIf para_modificar.Rows.Count - 1 > -1 Or My.Settings.validacion = 3 Then
    Try
    Dim listas As List(Of ClassLibrary1.DLL.ClsSysDate) = SqlBSPERSOC.SysData()
    txt_usr_modif.Text = My.Settings.cod_usuario
    txt_fec_modif.DataBindings.Clear()
    txt_fec_modif.DataBindings.Add("Text", listas, "mSysDate" )
    Actualizar()
    mensaje()
    My.Settings.validacion = 0
    txt_nro_perfil.Text = String.Empty
    CargarDatos()
    Catch ex As Exception
    para_modificar.Rows.Clear()

    End Try
    End If
    'en todos los casos
    txt_nro_perfil.Focus()

    End Sub


   ' El Sub actualizar

    Private Sub Actualizar()
    Dim lista As String = ClassLibrary1.DAL.DataAccess.SqlPermisos.Pre_Update(My.Settings.vderecho)
    If Not lista.Equals("S", StringComparison.OrdinalIgnoreCase) Then
    MessageBox.Show(lista.ToString, "Problemas de Permiso", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1)
    Else
    Try
    For i = 0 To para_modificar.Rows.Count - 1

    SqlBSPERSOC.Modificar(My.Settings.cod_empresa, para_modificar.Rows(i)("nro_perfil" ).ToString, para_modificar.Rows(i)("cod_persona" ).ToString, para_modificar.Rows(i)("nro_matricula" ).ToString, para_modificar.Rows(i)("usr_modif" ).ToString, para_modificar.Rows(i)("fec_modif" ).ToString, para_modificar.Rows(i)("observacion" ).ToString, para_modificar.Rows(i)("carga_operacion" ).ToString, para_modificar.Rows(i)("tipo_documento" ).ToString, para_modificar.Rows(i)("nro_documento" ).ToString)
    Next
    para_modificar.Rows.Clear()
    Catch ex As Exception
    Throw New Exception
    End Try
    End If
    End Sub








El Sql
Código:
 #Region "Modificar"
    Public Shared Function Modificar(ByVal cod_empresa As String, ByVal nro_perfil As String, ByVal cod_persona As String, ByVal nro_matricula As String, ByVal usr_modif As String, ByVal fec_modif As Date, ByVal observacion As String, ByVal carga_operacion As String, ByVal tipo_documento As String, ByVal nro_documento As String) As Integer
    Dim filas As Integer = 0
    Try
    Dim cmd As New OracleCommand("PKG_BASE.MBSPERSOC", conn)
    cmd.Parameters.Add("p_cod_empresa", cod_empresa)
    cmd.Parameters.Add("p_nro_perfil", nro_perfil)
    cmd.Parameters.Add("p_cod_persona", cod_persona)
    cmd.Parameters.Add("p_nro_matricula", nro_matricula)
    cmd.Parameters.Add("p_usr_modif", usr_modif)
    cmd.Parameters.Add("p_fec_modif", fec_modif)
    cmd.Parameters.Add("p_observacion", observacion)
    cmd.Parameters.Add("p_carga_operacion", carga_operacion)
    cmd.Parameters.Add("p_tipo_documento", tipo_documento)
    cmd.Parameters.Add("p_nro_documento", nro_documento)

    cmd.Parameters.Add(New OracleParameter("p_mensaje", OracleDbType.NVarchar2, ParameterDirection.Output, "", ParameterDirection.Output))
    cmd.CommandType = CommandType.StoredProcedure
    conn.Open()
    filas = cmd.ExecuteNonQuery()
    If (conn.State <> ConnectionState.Closed) Then
    conn.Close()
    End If
    Catch ex As Exception
    MessageBox.Show(ex.Message, "Error en Actualización", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1)
    conn.Close()
    Throw New Exception
    Finally
    End Try
    Return filas
    End Function

    #End Region



El Cls




Código:
    Namespace DLL

    Public Class ClsBSPERSOC
    Dim f As Nullable(Of Date)
    Private cod_empresa As String
    Private nro_perfil As String
    Private fecha_creacion As Date
    Private cod_persona As String
    Private nro_matricula As String
    Private usr_alta As String
    Private usr_modif As String
    Private fec_modif As Date
    Private observacion As String
    Private carga_operacion As String
    Private tipo_documento As String
    Private nro_documento As String

    Public Property mcod_empresa()
    Get
    Return cod_empresa
    End Get
    Set(ByVal value)
    cod_empresa = value
    End Set
    End Property

    Public Property mnro_perfil()
    Get
    Return nro_perfil
    End Get
    Set(ByVal value)
    nro_perfil = value
    End Set
    End Property

    Public Property mfecha_creacion()
    Get
    Return If(fecha_creacion.ToString("dd/MM/yyyy" ) = "01/01/0001", f.ToString, fecha_creacion.ToString("dd/MM/yyyy" ))
    End Get
    Set(ByVal value)
    fecha_creacion = value
    End Set
    End Property

    Public Property mcod_persona()
    Get
    Return cod_persona
    End Get
    Set(ByVal value)
    cod_persona = value
    End Set
    End Property

    Public Property mnro_matricula()
    Get
    Return nro_matricula
    End Get
    Set(ByVal value)
    nro_matricula = value
    End Set
    End Property

    Public Property musr_alta()
    Get
    Return usr_alta
    End Get
    Set(ByVal value)
    usr_alta = value
    End Set
    End Property

    Public Property musr_modif()
    Get
    Return usr_modif
    End Get
    Set(ByVal value)
    usr_modif = value
    End Set
    End Property

    Public Property mfec_modif()
    Get
    Return If(fec_modif.ToString("dd/MM/yyyy" ) = "01/01/0001", f.ToString, fec_modif.ToString("dd/MM/yyyy" ))
    End Get
    Set(ByVal value)
    fec_modif = value
    End Set
    End Property

    Public Property mobservacion()
    Get
    Return observacion
    End Get
    Set(ByVal value)
    observacion = value
    End Set
    End Property

    Public Property mcarga_operacion()
    Get
    Return carga_operacion
    End Get
    Set(ByVal value)
    carga_operacion = value
    End Set
    End Property

    Public Property mtipo_documento()
    Get
    Return tipo_documento
    End Get
    Set(ByVal value)
    tipo_documento = value
    End Set
    End Property

    Public Property mnro_documento()
    Get
    Return nro_documento
    End Get
    Set(ByVal value)
    nro_documento = value
    End Set
    End Property

    Sub New()
    fecha_creacion = Now()

    End Sub

    Sub New(ByVal cod_empresa As String, ByVal nro_perfil As String, ByVal fecha_creacion As String, ByVal cod_persona As String, ByVal nro_matricula As String, ByVal usr_alta As String, ByVal usr_modif As String, ByVal fec_modif As String, ByVal observacion As String, ByVal carga_operacion As String, ByVal tipo_documento As String, ByVal nro_documento As String)
    Me.cod_empresa = cod_empresa
    Me.nro_perfil = nro_perfil
    Me.fecha_creacion = fecha_creacion
    Me.cod_persona = cod_persona
    Me.nro_matricula = nro_matricula
    Me.usr_alta = usr_alta
    Me.usr_modif = usr_modif
    Me.fec_modif = fec_modif
    Me.observacion = observacion
    Me.carga_operacion = carga_operacion
    Me.tipo_documento = tipo_documento
    Me.nro_documento = nro_documento

    End Sub
    End Class
    End Namespace



El Procedure del PL/SQL

   
Código:


    Procedure MBSPERSOC( p_cod_empresa in Varchar2,
    p_nro_perfil in Number,
    p_cod_persona in Varchar2,
    p_nro_matricula in Varchar2,
    p_usr_modif in Varchar2,
    p_fec_modif in Date,
    p_observacion in Varchar2,
    p_carga_operacion in Varchar2,
    p_tipo_documento in Varchar2,
    p_nro_documento in Varchar2,
    p_mensaje Out Varchar2) Is

    vcod_empresa Varchar2(5) := p_cod_empresa;
    vnro_perfil Number := p_nro_perfil;
    vcod_persona Varchar2(15) := p_cod_persona;
    vnro_matricula Varchar2(15) := p_nro_matricula;
    vusr_modif Varchar2(40) := p_usr_modif;
    vfec_modif Date := p_fec_modif;
    vobservacion Varchar2(1000) := p_observacion;
    vcarga_operacion Varchar2(1) := p_carga_operacion;
    vtipo_documento Varchar2(1) := p_tipo_documento;
    vnro_documento Varchar2(15) := p_nro_documento;


    Begin
    Update BS_PERFIL_CABECERA
    Set cod_persona = vcod_persona,
    nro_matricula = vnro_matricula,
    usr_modif = vusr_modif,
    fec_modif = vfec_modif,
    observacion = vobservacion,
    carga_operacion = vcarga_operacion,
    tipo_documento = vtipo_documento,
    nro_documento = vnro_documento


    Where cod_empresa = vcod_empresa and nro_perfil = vnro_perfil;

    If sql%Rowcount = 0 Then
    p_mensaje := ('No se ha actualizado ningún registro. ');
    Rollback;
    End If;
    Exception
    When Others Then
    p_mensaje := ('Error durante la actualización del registro. '||Sqlerrm);
    End;


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Mi primer programa con VB2008
.NET (C#, VB.NET, ASP)
ElBarney-D 1 2,873 Último mensaje 19 Abril 2008, 06:27 am
por seba123neo
Palabra al azar en textBox de una lista?(vb2008)
.NET (C#, VB.NET, ASP)
usuario oculto 3 4,485 Último mensaje 28 Febrero 2009, 23:50 pm
por Skeletron
Editor de Texto con imagenes VB2008
.NET (C#, VB.NET, ASP)
aldasa19 2 4,520 Último mensaje 15 Septiembre 2010, 19:49 pm
por aldasa19
Poner un buscador en VB2008
.NET (C#, VB.NET, ASP)
aldasa19 6 3,962 Último mensaje 23 Septiembre 2010, 16:40 pm
por Braayhaan
(Ayuda)Autoclick VB2008 PICOSEGUNDOS
.NET (C#, VB.NET, ASP)
Yo,wapo 3 3,405 Último mensaje 5 Enero 2014, 05:38 am
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines