Foro de elhacker.net

Programación => 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:

Código:
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.

Código:
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