App.config en VB
Al utilizar un app.config para configurar la cadena de conexión a la base de datos la principal ventaja que tiene es que evitaras tener que recompilar tu aplicación si es que cambiar algun dato de la cadena de conexión, Ademas tambien esta la facilidad de modificarlos. Si en cada formulario usas la cadena de conexion, y un dia debes cambiar algo, tendrias que entrar a cada form y cambiar el valor, mientras que en My.Settings solo lo cambias una vez y esta listo.
El archivo de configuracion podrias editarlo con el notepad y como internamente es representado como xml
podras editar la configuracion y tu aplicacion en el cliente seguira funcionando sin tener que hacer un nueva compilacion y actualizacion en cada pc del usuario
ahora para guardar la cadena de conexión en un app.config ya sea en Vb o C# se siguen estos pasos, creamos un nuevo proyecto sea en VB o C# y luego desde el Solution Explorer damos click derecho sobre la aplicación y seleccionamos propiedades
luego nos vamos a la parte de Settings, colocamos un nombre y cambiamos el Type por Connection string, luego damos click sobre Value en el pequeño botón examinar que aparece al final
después aparece esta ventana para seleccionar el servidor y la base de datos a utilizar
ahora, el nombre que yo use para la conexion a la base de datos es: conexion, asi pues el app.config en VB queda asi:
App.config en VB
La ventana de la palicacion ejecutandose se muestra a continuacion, tambien se dan las opciones de utilizar my.settings, un modulo o una clase para conectarse de acuerdo a lo básico del ejemplo, las opciones aparecen comentariadas con su indicación a la que vez que se entrega el código del modulo y de la clase para que funciones las opciones, recuérdese solo seleccionar una e importar el system.configuration
El codigo de la clase es:
Aquà no esta la opcion del modulo ni la de My.Settings como en VB, asi que solo presento como alternativa el utilizar una clase, de nuevo la ventana de la aplicacion ejecutandose y el codigo tanto del formulario principal como de la clase que se utiliza como una opcion alternativa se muestra a continuacion
El codigo de la clase es:
El archivo de configuracion podrias editarlo con el notepad y como internamente es representado como xml
podras editar la configuracion y tu aplicacion en el cliente seguira funcionando sin tener que hacer un nueva compilacion y actualizacion en cada pc del usuario
ahora para guardar la cadena de conexión en un app.config ya sea en Vb o C# se siguen estos pasos, creamos un nuevo proyecto sea en VB o C# y luego desde el Solution Explorer damos click derecho sobre la aplicación y seleccionamos propiedades
luego nos vamos a la parte de Settings, colocamos un nombre y cambiamos el Type por Connection string, luego damos click sobre Value en el pequeño botón examinar que aparece al final
después aparece esta ventana para seleccionar el servidor y la base de datos a utilizar
Luego debemos añadir una referencia al proyecto, para esto click derecho sobre la aplicación y luego Add Reference y seleccionamos System.Configuration
ahora, el nombre que yo use para la conexion a la base de datos es: conexion, asi pues el app.config en VB queda asi:
y en C# queda asi:
La interfaz de la aplicacion ya sea en VB o C# quedará de la siguiente manera:
App.config en VB
La ventana de la palicacion ejecutandose se muestra a continuacion, tambien se dan las opciones de utilizar my.settings, un modulo o una clase para conectarse de acuerdo a lo básico del ejemplo, las opciones aparecen comentariadas con su indicación a la que vez que se entrega el código del modulo y de la clase para que funciones las opciones, recuérdese solo seleccionar una e importar el system.configuration
ImportsSystem.Data
ImportsSystem.Data.SqlClient
ImportsSystem.Configuration
PublicClass Form1
Dim cnn As SqlConnection
Dim da As SqlDataAdapter
Dim dt As DataTable
Dim bs As New BindingSource
Dim k As New Class1 'necesario al utilizar la clase para conectarse
Private Sub Form1_Load(ByVal sender AsSystem.Object, ByVale As System.EventArgs) Handles MyBase.Load
Usingcnn = New SqlConnection(ConfigurationManager.ConnectionStrings("conexion").ConnectionString) 'conecta usando System.Configuration
'Using cnn = New SqlConnection(My.Settings.conexion) 'conecta usando setings del app.config
'Using cnn = New SqlConnection(connex) 'conecta con valores desde el modulo los que recypera desde el app.config
'Using cnn = New SqlConnection(k.conexx) 'conecta con valores desde la clase los que recypera desde el app.config
Using da = New SqlDataAdapter("select * from personal", cnn)
Usingdt = New DataTable
da.Fill(dt)
bs.DataSource = dt
DataGridView1.DataSource = bs
BindingNavigator1.BindingSource = bs
TextBox1.DataBindings.Add("text", bs, "codigo")
TextBox2.DataBindings.Add("text", bs, "nombre")
TextBox3.DataBindings.Add("text", bs, "apellido")
TextBox4.DataBindings.Add("text", bs, "puesto")
TextBox5.DataBindings.Add("text", bs, "sueldo")
EndUsing
EndUsing
End Using
End Sub
End Class
El codigo del modulo es:
ImportsSystem.Data.SqlClient
ImportsSystem.Configuration
ModuleModule1
'Public connex As String = My.Settings.conexion 'utilizando My.Settings
Publicconnex As String= ConfigurationManager.ConnectionStrings("conexion").ConnectionString.ToString
End Module
El codigo de la clase es:
ImportsSystem.Data.SqlClient
ImportsSystem.Configuration
PublicClass Class1
' Public conexx As String = My.Settings.conexion 'Utilizando My.Settings
Publicconexx As String= ConfigurationManager.ConnectionStrings("conexion").ConnectionString.ToString
End Class
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
App.config en C#
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Data.SqlClient;
usingSystem.Configuration;
namespaceAppconfigenC
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
SqlDataAdapterda;
DataTabledt;
SqlConnectioncnn;
//Class1 k= new Class1(); necesario para utilizar informacion desde la clase
string conex = ConfigurationManager.ConnectionStrings["conexion"].ConnectionString;
stringselect = "select * from personal";
privatevoid Form1_Load(objectsender, EventArgs e)
{
BindingSourcebs;
using(cnn = new SqlConnection(conex))
//using (cnn = new SqlConnection(k.cnn)) este utiliza a cnn en la clase Class1
{
cnn.Open();
da = newSqlDataAdapter(select, conex);
dt = newDataTable();
da.Fill(dt);
bs = newBindingSource();
bs.DataSource = dt;
bindingNavigator1.BindingSource = bs;
dataGridView1.DataSource = bs;
textBox1.DataBindings.Add("text", bs, "codigo");
textBox2.DataBindings.Add("text", bs, "nombre");
textBox3.DataBindings.Add("text", bs, "apellido");
textBox4.DataBindings.Add("text", bs, "puesto");
textBox5.DataBindings.Add("text", bs, "sueldo");
}
}
}
}
El codigo de la clase es:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Configuration;
usingSystem.Data.SqlClient;
namespaceAppconfigenC
{
class Class1
{
public string cnn = ConfigurationManager.ConnectionStrings["conexion"].ConnectionString.ToString();
}
}
COMENTA LA PUBLICACION