Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: Sebicho en 12 Junio 2005, 10:59 AM

Título: agregar un registro a una base de datos
Publicado por: Sebicho en 12 Junio 2005, 10:59 AM
Antes que todo buenas...
toy teniendo un problema.. en la programacion del boton que que agrega un registro a la base de datos pongo esto:

Dim rst As New ADODB.Recordset
rst.Open "Agenda", cnuno, adOpenDynamic, adLockOptimistic, adCmdTable
rst.AddNew
rst("ID") = txtID
rst("Nombre") = txtNombre
rst("Apellido") = txtApellido
rst.Update
rst.Close


me lo agrega todo lo mas bien pero tengo que cerrar el programa y volver a abrirlo para que me lo muestre :S
que tengo que hacer para que me lo muestre sin cerrar el programa?
Saludos

EDITADO POR EL MODERADOR: Usa las etiquetas Code la próxima vez.
Título: Re: agregar un registro a una base de datos
Publicado por: Slasher-K en 13 Junio 2005, 00:08 AM
Usa el método Update del Recordset.

Saludos.
Título: Re: agregar un registro a una base de datos
Publicado por: Sebicho en 13 Junio 2005, 03:50 AM
ya lo use fijate ahi en la programacion que aparece...
rst.update
rst es el nombre del recordset
Título: Re: agregar un registro a una base de datos
Publicado por: Slasher-K en 13 Junio 2005, 04:08 AM
Bueno con el método Update si usas adLockOptimistic tiene que actualizar el origen de datos. Fijate en el modo de bloqueo que usaste.

Saludos.
Título: Re: agregar un registro a una base de datos
Publicado por: Sebicho en 18 Junio 2005, 06:21 AM
probe con pessimistic y tampoco ya noc que hacer me toy volviendo loco
Título: Re: agregar un registro a una base de datos
Publicado por: lobo80 en 18 Junio 2005, 17:01 PM
lo que puedes hacer es trabajar con "ADODC1.refresh", TRABAJA CON ADODC Y ESO TALVEZ TE AYUDE :)
Título: Re: agregar un registro a una base de datos
Publicado por: goodbye en 26 Junio 2005, 07:24 AM
Tambien ayuda el desplazarse a otro registro del recordset despues del metodo Update.

Dim rst As New ADODB.Recordset
rst.Open "Agenda", cnuno, adOpenDynamic, adLockOptimistic, adCmdTable
rst.AddNew
rst("ID") = txtID
rst("Nombre") = txtNombre
rst("Apellido") = txtApellido
rst.Update

rst.MoveFirst '<------<< Usar este preferiblemente.


Título: Re: agregar un registro a una base de datos
Publicado por: Zanoni en 2 Julio 2005, 21:27 PM
No te recomiendo que uses comandos ADODB ya que a estos comandos tienen q especificar una direccion especifica y no son muy eficientes a la hora de instalar en cualquier pc.
yo por ejemplo uso como base de datos acces97 y para acceder a ella uso el .path que permite abrir en cualquier lado y para agregar los registro lo mas sencillo es usando SQL o los componentes de la libreria DAO3.51
un ejemplo de añadir es:

Public XXXXAs Database
Public Emple As Recordset


Set XXXX= OpenDatabase(App.Path & "\XXXX.Mdb")
    Set emple= XXXXX.OpenRecordset("SELECT * FROM Anti_Presta")

Sub añadeemple()
    Dim BAci As String
    Dim a, baci2 As Boolean
    Aci = Val(fmrae.txtci)
    a = True
    Set Emple = SYSCAN.OpenRecordset("SELECT * FROM empleados where Cedula = " & Aci & "")
   
   
        On Error GoTo error_agregarEM
        Emple.Close
        Set Emple = SYSCAN.OpenRecordset("SELECT * FROM empleados")
        Emple.AddNew
            With Emple
                .Fields("cedula") = Aci
                .Fields("nombre") = fmrae.txtnombre
                .Fields("nacionalidad") = baci2
.
.
.
.
.

            End With
           
          Emple.Update
MsgBox "Datos Agregados a Data", vbInformation, "ATENCION"
        Exit Sub
error_agregarEM:
        MsgBox "Datos Erroneos Verifique y asegurese de llenar todos los campos", vbInformation, "Error de Data"
    End If
existe:
End Sub


espero q te sirva...........


Si hice un comentaro errado hacerlo saber


Zx