Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: BorecK en 13 Diciembre 2006, 03:18 am



Título: Como guardar un registro?
Publicado por: BorecK en 13 Diciembre 2006, 03:18 am
Que codigo puedo usar para que los registros de una pequeña base de datos se guarden y aparescan de nuevo en mi programa cuando lo ejecute?

supongamos que es una agenda y quiero guardar todos los datos en un .dat alguien podria ayudarme ?


Título: Re: Como guardar un registro?
Publicado por: BorecK en 13 Diciembre 2006, 04:06 am
Vamos Celaya ayudame quiero ser tu dicipulo jejeje  :D


Título: Re: Como guardar un registro?
Publicado por: CeLaYa en 13 Diciembre 2006, 04:06 am
bueno si estas usando bases de datos de access lo podriras hacer asi:


Código:
dim BD as database
dim Rd as Recordset

On Local Error resume next
Set BD = workspaces(0).Opendatabase("c:\...\BD.mdb", Exclusivo, SoloLectura)
Db.Execute "INSERT INTO Tabla " & _
                   "(Campo1, Campo2) VALUES " & _
                   "('" & text1.Text & "', '" & text2.Text & "'')", dbFailOnError
If Err Then
    Msgbox Err.descripction
Else
    MsgBox Db.RecordsAffected & " registros agregados", vbInformation + vbOKOnly, App.EXEName
End If

Db.Close
Set Db = Nothing


si usas bases de datos de SQL seria igual solo que para abrir la bd sería asi:

Código:
dim Conexion as string

conexion = "Provider=SQLOLEDB.1;" & _
               "Persist Security Info=False;" & _
               "User ID=" & tu_suario & ";" & _
               "pwd=" & tu:pass & ";" & _
               "Initial Catalog=" & basededatos & ";" & _
               "Data Source=" & Servidor

On Local Error Resume Next
BD.Open conexion
If Err Then
    MsgBox Err.Number & vbCrLf & Err.Description
End If
On Local Error GoTo 0

pero al final de tu post dices haces referencia a un .dat eso me hace pensar que quizas uses archivos de texto, entonces tendrías que hacer una estructura con los campos del reguistro y sería más o menos asi:

Código:
'en un módulo .bas
Type Telefonos

    Tel As String * 10
    Nombre As String * 60

End Type

Public nTel As Telefonos


'en el form
    Dim f As Long, i As Long
    Dim Registro As Long
    Dim s As Telefonos ' un ejemplo de un struct de usuarios y teléfonos
    Dim Existe As Boolean
    
    f = FreeFile
    Open App.Path & "\Teléfonos.txt" For Random As #f Len = Len(nTel)
    Registro = LOF(f) / Len(nTel)
    'Checa si existe
    Existe = False
    For i = 1 To Registro
        Get #f, i, s
        If s.Nombre = nTel.Nombre And s.Tel = nTel.Tel Then
            Existe = True
            If z Then MsgBox "El contacto " & Trim(nTel.Nombre) & " ya existe.", vbExclamation + vbOKOnly, App.EXEName
            Exit For
        End If
    Next i
    
    If Existe = False Then Put #f, Registro + 1, nTel
    Close #f

End Sub

paar mi es mejor usar una base de datos y si son muchos los registros pues una de SQL estarábien. bueno espero te sirva de algo...


Título: Re: Como guardar un registro?
Publicado por: CeLaYa en 13 Diciembre 2006, 04:12 am
bueno BorecK hechale un vistazo al código y mañana cuentamos como te fue, saludos desde México!!!


Título: Re: Como guardar un registro?
Publicado por: BorecK en 13 Diciembre 2006, 04:16 am
jaja yo tambien soy de Mexico ando en puebla... el que creo que me sirve es el ultimo codigo voy a probar a ver si me funciona compadre  ;D