también puedes utilizar My.Settings para guardar variables dentro de tu aplicación y cuyos valores estarán ahí la próxima vez que la aplicación se ejecute.
Añado al comentario del compañero @ElBenjo:
...cuyos valores estarán ahí la próxima vez que la aplicación se ejecute, siempre que el executable no se renombre, ni se haga una actualización o reemplazo del executable, ni otras cosas.
No me gusta la infraestructura de My.Settings, no es fiable ni muy práctica en varios escenarios, como en este caso, aunque se pueden almacenar colecciones de Strings yo diría que My.Settings no fue pensado para grandes cosas como administrar una base de datos de un "comercio".
Yo optaría por una base de datos en archivo de texto, XML (por ejemplo), ya que es un lenguaje que está soportado en VS a la perfección y se pueden hacer querys de forma sencilla, quedando así el archivo:
db.xml<?xml version="1.0" encoding="Windows-1252"?>
<!--Mi base de datos-->
<Verduras>
<Verdura><Nombre>Cebolla</Nombre><Precio>15</Precio></Verdura>
<Verdura><Nombre>Chile</Nombre><Precio>25</Precio></Verdura>
<Verdura><Nombre>Limón</Nombre><Precio>25</Precio></Verdura>
<Verdura><Nombre>Papa</Nombre><Precio>18</Precio></Verdura>
<Verdura><Nombre>Plátano</Nombre><Precio>10</Precio></Verdura>
<Verdura><Nombre>Tomate</Nombre><Precio>27</Precio></Verdura>
</Verduras>
...Puedes administrar los atributos de la manera que prefieras, y también puedes identar los elementos... depende de gustos.
Pudiendo hacer cosas como esta en .NET:
Dim Verduras = From Verdura As XElement
In XDoc.<Verduras>.<Verdura>
Select New With
{
Verdura.<Nombre>.Value,
Verdura.<Precio>.Value
}
For Each Verdura In Verduras
MsgBox(String.Format("Nombre: {0}; Precio: {1}",
Fruta.Nombre,
Fruta.Precio))
Next Verdura
( puedes usar un convertidor online del lenguaje VB.NET <> CSharp , lo que hice fue símplemente crear un type anónimo).
...Y para modificar un precio, simplemente actualizas el atributo y guardas los cambios en el archivo.
En el peor de los casos si te parece dificil puedes optar por algo mucho más básico, un archivo de texto delimitado (CSV), que también se puede manejar bien y te será más facil si no manejas XML ni MySql, pero si al final optases por usar un archivo delimitado por comas (CSV) y si te importa algo el rendimiento de tu app entonces te sugiero (es más, te lo impongo por ley está prohibición) que no uses el método
TextFieldParser del antiguo VB6, eso es lo peor que puedes hacer, es puro Left, Mid, y otras ascadas de las antiguas técnicas de programación; en su defecto puedes usar un simple
String.Split, repito, esto tenlo en cuenta sólamente si te importa lo más mínimo el rendimiento de tu app y no quieres que te tarde 10 segundos en parsear un simple texto.
PD: Porfavor que alguien mueva esto a .NET no? Saludos!