Foros del Web » Programación para mayores de 30 ;) » .NET »

[SOLUCIONADO] Problema con archivo de configuración

Estas en el tema de Problema con archivo de configuración en el foro de .NET en Foros del Web. Saludos, estoy haciendo un aplicación con Visual C# 2012 con MySql y estoy haciendo la conexión mediante un archivo de configuración, pero cuando cargo la ...
  #1 (permalink)  
Antiguo 26/10/2016, 11:39
 
Fecha de Ingreso: mayo-2003
Ubicación: Lima
Mensajes: 967
Antigüedad: 20 años, 11 meses
Puntos: 8
Problema con archivo de configuración

Saludos, estoy haciendo un aplicación con Visual C# 2012 con MySql y estoy haciendo la conexión mediante un archivo de configuración, pero cuando cargo la aplicación debería mostrar los datos de una tabla en un DataGridView, pero este sale vacío y no muestra ningún error.

Que cosa podría estar pasando?.

Saludos,
__________________
El aprendiz.
  #2 (permalink)  
Antiguo 26/10/2016, 11:43
Avatar de Drako_18  
Fecha de Ingreso: mayo-2005
Ubicación: Madrid
Mensajes: 505
Antigüedad: 18 años, 11 meses
Puntos: 16
Respuesta: Problema con archivo de configuración

Buenas compañero,

A priori, si no da ningún error ni nada... No tiene porqué ser un problema del archivo de configuración... Yo me decantaría más porque la tabla no tenga datos, o porque no estés enlazando los datos haciendo un MiGrid.DataBind()...


Un saludo y espero haberte ayudado compañero!!!
__________________
Rubén Espada
Desarrollador full stack .Net (Angular + JS + .Net Core)
  #3 (permalink)  
Antiguo 26/10/2016, 12:02
 
Fecha de Ingreso: mayo-2003
Ubicación: Lima
Mensajes: 967
Antigüedad: 20 años, 11 meses
Puntos: 8
Respuesta: Problema con archivo de configuración

Voy a poner el código que tengo:
El archivo de configuración App.config:
Código XML:
Ver original
  1. <?xml version="1.0"?>
  2. <configuration>
  3.     <configSections>
  4.     </configSections>
  5.     <connectionStrings>
  6.       <add name="APPcadena"
  7.           connectionString="server=127.0.0.1; database=control_manuel; Uid=root; pwd=KadMi@2015"
  8.           providerName="MySql.Data.MySqlClient"/>
  9.     </connectionStrings>
  10. <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 original
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Configuration;
  7.  
  8. namespace control.MisClases
  9. {
  10.     class Cadena
  11.     {
  12.         public string CadenaApp;
  13.         public string ObtenerCadena()
  14.         {
  15.             CadenaApp = ConfigurationManager.ConnectionStrings["APPcadena"].ConnectionString;
  16.  
  17.             return CadenaApp;
  18.         }
  19.     }
  20. }
La clase que muestra los datos de la tabla Mostrar.cs
Código C:
Ver original
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. using System.Data;
  8. using MySql.Data;
  9. using MySql.Data.MySqlClient;
  10. using System.Windows.Forms;
  11. using control.MisClases;
  12.  
  13. namespace control.MisClases
  14. {
  15.     class Mostrar
  16.     {
  17.         Cadena Obj = new Cadena();
  18.  
  19.         public void MostrarDatos(DataGridView DataGrid, String nProcedimiento)
  20.         {
  21.             string CadenaApp;
  22.             CadenaApp = Obj.ObtenerCadena();
  23.  
  24.             string stm = nProcedimiento;
  25.             MySqlConnection conn = new MySqlConnection(CadenaApp);
  26.             DataTable odtable = new DataTable();
  27.             MySql.Data.MySqlClient.MySqlDataAdapter odadapter = new MySql.Data.MySqlClient.MySqlDataAdapter();
  28.  
  29.             try
  30.             {
  31.                 if (conn.State != ConnectionState.Open)
  32.                     conn.Open();
  33.  
  34.                 MySqlCommand cmd = new MySqlCommand(stm, conn);
  35.                 cmd.CommandType = CommandType.StoredProcedure;
  36.                 odadapter.SelectCommand = cmd;
  37.                 odadapter.Fill(odtable);
  38.             }
  39.             catch (Exception ex)
  40.             {
  41.                 MessageBox.Show("No se puede mostrar los datos. Revise la conexión al servidor de datos e intente de nuevo" + ex.Message);
  42.             }
  43.             finally
  44.             {
  45.                 if (conn.State != ConnectionState.Closed)
  46.                     conn.Close();
  47.  
  48.                 conn.Dispose();
  49.             }
  50.         }
  51.     }
  52. }
Código que va en el evento Load del formulario:
Código C:
Ver original
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10.  
  11. using MySql.Data;
  12. using MySql.Data.MySqlClient;
  13. using control.MisClases;
  14.  
  15. namespace control
  16. {
  17.     public partial class frmSubgerencias : Form
  18.     {
  19.         Mostrar MostrarSubgerencias = new Mostrar();
  20.  
  21.         public frmSubgerencias()
  22.         {
  23.             InitializeComponent();
  24.         }
  25.  
  26.         private void frmSubgerencias_Load(object sender, EventArgs e)
  27.         {
  28.             MostrarSubgerencias.MostrarDatos(dgvSubgerencias, "MostrarSubgerencias");
  29.         }
  30.     }
  31. }

La tabla si tiene datos.

Saludos,
__________________
El aprendiz.
  #4 (permalink)  
Antiguo 26/10/2016, 14:46
 
Fecha de Ingreso: mayo-2003
Ubicación: Lima
Mensajes: 967
Antigüedad: 20 años, 11 meses
Puntos: 8
Respuesta: Problema con archivo de configuración

Tenías razón Drako_18, revisando de nuevo por milésima vez el código, es cierto, no había usado el DataGrid para nada.

Después de MySqlDataAdapter, puse DataGrid.DataSource = odtable; y ahora si todo bien. Me sirvió tu respuesta. Gracias.
__________________
El aprendiz.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:31.