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 que hemos creado y seleccionamos propiedades
luego nos vamos a la parte de Settings, colocamos un nombre y cambiamos el Type que por defecto tiene el valor de String 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, al especificar estos datos damos click en aceptar y luego guardamos, después podemos cerrar la ventana de propiedades
Luego debemos añadir una referencia al proyecto, para esto click derecho sobre la aplicación y luego Add Reference y sobre la pestaña .NET seleccionamos System.Configuration tal como se muestra
ahora, el nombre que yo use para la conexion a la base de datos es: conexion, hago las pruebas desde mi maquina, me conecto a la base de datos empleado, asi pues el app.config en VB queda tal como se muestra:
y en C# el app.config queda asi:
Ahora se creara una interfaz para navegar a través de los valores de una tabla especifica en nuestra base de datos, ademas que se agregara un DataGridView, BindingNavigator y un textBox para cada dato de nuestra tabla, dicha interfaz de la aplicacion ya sea en VB o C# quedará de la siguiente manera:
App.config en VB
La ventana de la aplicación ejecutandose se muestra a continuacion, el nombre de mi cadena de conexion es "conexion", sabiendo esto, se dan las opciones de utilizar:
Dim cnn As SqlConnection
directamente al ConnectionString
Using cnn = New SqlConnection(ConfigurationManager.ConnectionStrings("conexion").ConnectionString)
my.settings del app.config (solo para VB):
Using cnn = New SqlConnection(My.Settings.conexion)
un modulo (solo para VB)
Using cnn = New SqlConnection(connex) 'conecta con valores desde el modulo los que recupera desde el app.config
una clase
Using cnn = New SqlConnection(k.conexx) 'conecta con valores desde la clase los que recupera desde el app.config
si eres de los que copian y pega código, las opciones aparecen comentariadas con su indicación a la que vez que se entrega al final el código del modulo y de la clase para que funcionen las opciones que te presento, recuérdese solo seleccionar una e importar el system.configuration
Imports System.Data
Imports System.Data.SqlClient
Imports System.Configuration
Public Class 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 As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Using cnn = New SqlConnection(ConfigurationManager.ConnectionStrings("conexion").ConnectionString)
'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)
Using dt = 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")
End Using
End Using
End Using
End Sub
End Class
El codigo del modulo es:
Imports System.Data.SqlClient
Imports System.Configuration
Module Module1
'Public connex As String = My.Settings.conexion 'utilizando My.Settings
Public connex As String = ConfigurationManager.ConnectionStrings("conexion").ConnectionString.ToString
End Module
El codigo de la clase es:
Imports System.Data.SqlClient
Imports System.Configuration
Public Class Class1
' Public conexx As String = My.Settings.conexion 'Utilizando My.Settings
Public conexx As String = ConfigurationManager.ConnectionStrings("conexion").ConnectionString.ToString
End Class
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
App.config en C#
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Configuration;
namespace AppconfigenC
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
SqlDataAdapter da;
DataTable dt;
SqlConnection cnn;
//Class1 k= new Class1(); necesario para utilizar informacion desde la clase
string conex = ConfigurationManager.ConnectionStrings["conexion"].ConnectionString;
string select = "select * from personal";
private void Form1_Load(object sender, EventArgs e)
{
BindingSource bs;
using (cnn = new SqlConnection(conex))
//using (cnn = new SqlConnection(k.cnn)) este utiliza a cnn en la clase Class1
{
cnn.Open();
da = new SqlDataAdapter(select, conex);
dt = new DataTable();
da.Fill(dt);
bs = new BindingSource();
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:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using System.Data.SqlClient;
namespace AppconfigenC
{
class Class1
{
public string cnn = ConfigurationManager.ConnectionStrings["conexion"].ConnectionString.ToString();
}
}