Crear una base de datos local...

Iniciado por FacuM, 29 Junio 2014, 22:54 PM

0 Miembros y 1 Visitante están viendo este tema.

FacuM

Bueno, hola chicos, lo que necesito es crear un programa en Visual Basic 2013 Ultimate que, por ejemplo, pregunte al usuario el nombre, su fecha de nacimiento, etc, etc, lo guarde en un archivo y luego haga que el sistema entienda que debe leer que si la variable dentro del archivo "PrimeraVez = True" cambie a False y así no aparezca la próxima ejecución del programa!  :-\

tincopasan

ok! ¿y qué has hecho? por otra parte, para guardar esos datos ni es necesario una base de datos, con un archivo cualquiera alcanza.

Eleкtro

#2
Si realmente lo que precisas es una base de datos, es decir, si debes manejar distintos usuarios con sus distintos datos personales en una misma aplicación, entonces mírate este código, lo escribí hace MUUUCHO tiempo (vamos, que no es muy bonito y se puede mejorar mucho) pero hace todo lo que precisas, y el archivo de la "db" queda serializado.

=> http://pastebin.com/5sT2EjLd






Aunque la verdad, yo prefiero usar una db local en formato XML, es decir, un archivo de texto plano que se pueda interpretar y que me permite visualizar el contenido y hacer cambios manuales si resulta necesario, si quieres un ejemplo completo de esto:

=> http://pastebin.com/zuwSve8Z

Citar
Código (vbnet) [Seleccionar]

   ' Write a song element.
   XMLHelper.Write_Elements(XmlWriter, { _
                                        {"Name", "My Song file.mp3"},
                                        {"Year", "2013"},
                                        {"Genre", "Rock"} _
                                        }, Xml.Formatting.None)






Para usar una configuración de usuario más "normal" y mantenerla persistente en tu aplicación:

=> My.Settings

1. Primero creas las settings necesarias (Name, BirthDate, etc) en las propiedades de tu proyecto.

Ejemplo que hice al vuelo:

Código (vbnet) [Seleccionar]
Public Class MySettingsExample : Inherits form

   Dim WithEvents tb_Name As New TextBox

   Private Shadows Sub OnLoad() Handles MyBase.Load

       Me.Controls.Add(Me.tb_Name)
       Me.LoadUserSettings()

   End Sub

   Private Sub LoadUserSettings()

       If Not String.IsNullOrEmpty(My.Settings.Name) Then
           Me.tb_Name.Text = My.Settings.Name
       End If

   End Sub

   Private Sub tb_Name_TextChanged(ByVal sender As Object, ByVal e As EventArgs) _
   Handles tb_Name.TextChanged

       Dim _name As String = CStr(sender.Text)

       If Not String.IsNullOrEmpty(_name) Then

           With My.Settings
               .Name = _name
               .Save()
               ' .Reload()
           End With

       End If

   End Sub

End Class


Saludos