Voy a poner el código que tengo:
El archivo de configuración App.config:
Código XML:
Ver original<?xml version="1.0"?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="APPcadena"
connectionString="server=127.0.0.1; database=control_manuel; Uid=root; pwd=KadMi@2015"
providerName="MySql.Data.MySqlClient"/>
</connectionStrings>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup></configuration>
La clase que llama al archivo de configuración Cadena.cs
Código C#:
Ver originalusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Configuration;
namespace control.MisClases
{
class Cadena
{
public string CadenaApp;
public string ObtenerCadena()
{
CadenaApp = ConfigurationManager.ConnectionStrings["APPcadena"].ConnectionString;
return CadenaApp;
}
}
}
La clase que muestra los datos de la tabla Mostrar.cs
Código C:
Ver originalusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using MySql.Data;
using MySql.Data.MySqlClient;
using System.Windows.Forms;
using control.MisClases;
namespace control.MisClases
{
class Mostrar
{
Cadena Obj = new Cadena();
public void MostrarDatos(DataGridView DataGrid, String nProcedimiento)
{
string CadenaApp;
CadenaApp = Obj.ObtenerCadena();
string stm = nProcedimiento;
MySqlConnection conn = new MySqlConnection(CadenaApp);
DataTable odtable = new DataTable();
MySql.Data.MySqlClient.MySqlDataAdapter odadapter = new MySql.Data.MySqlClient.MySqlDataAdapter();
try
{
if (conn.State != ConnectionState.Open)
conn.Open();
MySqlCommand cmd = new MySqlCommand(stm, conn);
cmd.CommandType = CommandType.StoredProcedure;
odadapter.SelectCommand = cmd;
odadapter.Fill(odtable);
}
catch (Exception ex)
{
MessageBox.Show("No se puede mostrar los datos. Revise la conexión al servidor de datos e intente de nuevo" + ex.Message);
}
finally
{
if (conn.State != ConnectionState.Closed)
conn.Close();
conn.Dispose();
}
}
}
}
Código que va en el evento Load del formulario:
Código C:
Ver originalusing System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data;
using MySql.Data.MySqlClient;
using control.MisClases;
namespace control
{
public partial class frmSubgerencias : Form
{
Mostrar MostrarSubgerencias = new Mostrar();
public frmSubgerencias()
{
InitializeComponent();
}
private void frmSubgerencias_Load(object sender, EventArgs e)
{
MostrarSubgerencias.MostrarDatos(dgvSubgerencias, "MostrarSubgerencias");
}
}
}
La tabla si tiene datos.
Saludos,