Hola estoy haciendo una aplicación en c# que utiliza una bd creada con access. Quiero hacer un codigo de prueba para ver si me doy conectao bien y parece ser que no. Miren el codigo es el siguiente:
Esa clase me la he creado yo y ahora en el Form 1 en este método tengo esto:
He estado traceando y parece ser que va pasando bien po todo el codigo pero dentro del método mostrar() no entra dentro del foreach y por eso no me muestra el messageBox. ¿Que estoy haciendo mal?.
Decir que mi base de datos en access se llama Base_De_Datos_Das.accdb y tiene dos tablas, Artículos (con datos) y Clientes (vacia de momento).
Un saludo
Código [Seleccionar]
public class BD
{
DataSet myDataSet;
string AccessCon;
OleDbConnection myAccessCon;
public BD()
{
myAccessCon = null;
AccessCon = "Provider=Microsoft.Jet.OLEDB.12.0;Data Source=C:\\Documents and Settings\\F3RN1\\Mis documentos\\Base_de_Datos_DAS.accdb";
myDataSet = new DataSet();
}
public void conexion()
{
try
{
myAccessCon = new OleDbConnection(AccessCon);
}
catch (Exception ex)
{
Console.WriteLine("Error: No se pudo establecer la conexión con la Base de Datos. \n{0}", ex.Message);
return;
}
}
public void recuperar(String sentencia, String tabla)
{
try
{
OleDbCommand myAccessCommand = new OleDbCommand(sentencia, myAccessCon);
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(myAccessCommand);
myAccessCon.Open();
myDataAdapter.Fill(myDataSet, tabla);
}
catch (Exception ex)
{
Console.WriteLine("Error: Fallo al recuperar los datos desde la Base de Datos.\n{0}", ex.Message);
return;
}
finally
{
myAccessCon.Close();
}
}
public void mostrar()
{
DataTableCollection dta = myDataSet.Tables;
foreach (DataTable dt in dta)
{
//Console.WriteLine("Encontrada la Tabla {0}", dt.TableName);
MessageBox.Show("Encontrada la Tabla {0}", dt.TableName);
}
}
}
Esa clase me la he creado yo y ahora en el Form 1 en este método tengo esto:
Código [Seleccionar]
private void porNºClienteToolStripMenuItem_Click(object sender, EventArgs e)
{
baseD = new BD();
baseD.conexion();
baseD.recuperar("Select * from Articulos","Articulos");
baseD.mostrar();
He estado traceando y parece ser que va pasando bien po todo el codigo pero dentro del método mostrar() no entra dentro del foreach y por eso no me muestra el messageBox. ¿Que estoy haciendo mal?.
Decir que mi base de datos en access se llama Base_De_Datos_Das.accdb y tiene dos tablas, Artículos (con datos) y Clientes (vacia de momento).
Un saludo