Programadores dedicados a C sharp .Net, eres nuevo, experto o quieres aprender a programar en C Sharp, aquí encontraras todo lo que necesitas.
 
ÍndiceCalendarioFAQBuscarMiembrosGrupos de UsuariosChatRegistrarseConectarse
Conectarse
Nombre de Usuario:
Contraseña:
Entrar automáticamente en cada visita: 
:: Recuperar mi contraseña
Últimos temas
Buscar
 
 

Resultados por:
 
Rechercher Búsqueda avanzada
Síguenos:
Crear foro Crear foro Crear foro

Comparte | 
 

 Conexión C# - Access

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
DarkVenom
Programador Básico


Mensajes : 18
Puntos : 42
Localización : Distrito Federal

MensajeTema: Conexión C# - Access   Lun Ago 15, 2011 2:42 pm

Dentro del proyecto se crea una nueva clase. En este caso la clase se llamará ConexionAccess2007 y se le asignan los siguientes using:
Código:
using System.Data.OleDb;
        using System.Data;
Después de esto tendremos que crear todos los métodos que vamos a requerir para la conexión a la base de datos asi como los siguientes elementos:
Código:
static string CadenaConexion;
        static OleDbConnection Conex;
        static OleDbDataAdapter Adaptador;
        static OleDbCommandBuilder Constructor;
        static DataTable Tabla;
        static BindingSource Fuente;
Creamos el método para conectarnos a la base de datos:
Código:
public static void Conectar()
        {
            CadenaConexion = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\DarkVenom\Documents\Compumax.accdb;Persist Security Info=False";
            Conex = new OleDbConnection(CadenaConexion);
            Conex.Open();                     
        }
Donde Source es la ruta donde se encuentra la base de datos de Access.

Ahora un método para desconectarse de la base de datos:
Código:
public static void Desconectar()
        {
            Conex.Close();
        }
Y por último un método para realizar una consulta a una tabla de esa base de datos:
Código:
public static void Consultar(string tabla,string campos,string orden)
        {
            string Consulta = "select " + campos + " from " + tabla + " order by " + orden + ";";
            Adaptador = new OleDbDataAdapter(Consulta, Conex);
            Constructor = new OleDbCommandBuilder(Adaptador);
            Tabla = new DataTable(tabla);
            Adaptador.Fill(Tabla);
            Fuente = new BindingSource();
            Fuente.DataSource = Tabla;
        }
Este método lo que hace es recibir como parámetros la tabla a la cual se desea hacer la consulta, los campos que se requieren y el orden en el que se desean mostrar los datos. Con estos parámetros se crea la consulta, la cual es pasada al adaptador que recibe como parámetros una consulta y la conexión con la que se quiere trabajar.

Lo siguiente es crear la propiedad Source para poder guardar los datos de la consulta y usarlos en el Form1.
Código:
public static BindingSource Source
        {
            get
            {
                return Fuente;
            }
        }
En el Form1 simplemente se agrega un DataGridView para cargar los datos de la consulta en él, y en el evento Load del Form1 se manda a llamar a los métodos de la clase ConexionAccess2007:
Código:
private void FrmConexionAccess2007_Load(object sender, EventArgs e)
        {
            Conexion.Conectar();
            Conexion.Consultar("producto", "*", "id_producto");
            dgvDatos.DataSource = Conexion.Source;
            Conexion.Desconectar();
        }
Les dejo el proyecto de ejemplo.

Conexión C# - Access

Cualquier duda comenten Very Happy
Volver arriba Ir abajo
Ver perfil de usuario
cdc831
Novato


Mensajes : 2
Puntos : 2
Localización : Rosario de la Frontera - salta - arentina

MensajeTema: Re: Conexión C# - Access   Miér Oct 10, 2012 12:08 pm

UNA PREGUNTA?? SE PUEDE UTILIZAR EL APP COMO SE USABA EN VISUAL C EN VES DE DAR UNA RUTA A DONDE SE ENCUENTRA EL ARCHIVO DE ACCEESS,
MUCHAS GRACIAS
SOY NUEVO Y ME FACINA C#

SALUDOS
Volver arriba Ir abajo
Ver perfil de usuario http://www.cdc831.com.ar
cdc831
Novato


Mensajes : 2
Puntos : 2
Localización : Rosario de la Frontera - salta - arentina

MensajeTema: Re: Conexión C# - Access   Vie Oct 12, 2012 3:20 pm

quise poner apppath saludos
Volver arriba Ir abajo
Ver perfil de usuario http://www.cdc831.com.ar
oharryo
Novato


Mensajes : 4
Puntos : 6

MensajeTema: Re: Conexión C# - Access   Mar Ene 15, 2013 2:29 pm

hola amigo una pregunta puedo mostrar 2 campos???
//con el * muestro todos pero quisiera de mi tabla no mostrar el id
Conexion.Consultar("producto", "*", "id_producto");
Volver arriba Ir abajo
Ver perfil de usuario
DarkVenom
Programador Básico


Mensajes : 18
Puntos : 42
Localización : Distrito Federal

MensajeTema: Re: Conexión C# - Access   Jue Ene 17, 2013 11:16 am

oharryo escribió:
hola amigo una pregunta puedo mostrar 2 campos???
//con el * muestro todos pero quisiera de mi tabla no mostrar el id
Conexion.Consultar("producto", "*", "id_producto");

Sólo pon Conexion.Consultar("producto","campo1,campo2","id_producto");
Volver arriba Ir abajo
Ver perfil de usuario
oharryo
Novato


Mensajes : 4
Puntos : 6

MensajeTema: Re: Conexión C# - Access   Jue Ene 17, 2013 3:00 pm

gracias amigo ya lo logre ya mismo acabo el programa aki voy a subir mi codigo!!! me quedo bonito
Volver arriba Ir abajo
Ver perfil de usuario
NSYNC_ESTEBAN
Novato


Mensajes : 1
Puntos : 1

MensajeTema: Re: Conexión C# - Access   Sáb Jun 15, 2013 7:11 am


Hola a todos.

En la cadena de conexión, la ruta de la base de datos es fija verdad.



Código:
CadenaConexion = @"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\Users\DarkVenom\Documents\Compumax.accdb; Persist Security Info=False";



Esto genera errores cuando la solución es ejecutda desde otras unidades y se tiene que cambiar la ruta constantemente la ruta de la bases de datos de acuerdo desde donde se ejecute la solucion, esto hace que se vuelva moroso.

Asi que mi pregunta es la siguiente.


  • Se puede utilizar una ruta no definida o fija, indicando una ruta desde una carpeta donde se aloja la base de datos como por ejemplo de nombre "Mibase".


Espero que puedan ayudarme con este inconveniente.



Saludos bouncebouncebouncebouncebouncebouncebouncebouncebouncebouncebouncebounce
Volver arriba Ir abajo
Ver perfil de usuario
DarkVenom
Programador Básico


Mensajes : 18
Puntos : 42
Localización : Distrito Federal

MensajeTema: Respuesta   Sáb Jun 15, 2013 2:41 pm

NSYNC_ESTEBAN escribió:

Hola a todos.

En la cadena de conexión, la ruta de la base de datos es fija verdad.



Código:
CadenaConexion = @"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\Users\DarkVenom\Documents\Compumax.accdb; Persist Security Info=False";



Esto genera errores cuando la solución es ejecutda desde otras unidades y se tiene que cambiar la ruta constantemente la ruta de la bases de datos de acuerdo desde donde se ejecute la solucion, esto hace que se vuelva moroso.

Asi que mi pregunta es la siguiente.


  • Se puede utilizar una ruta no definida o fija, indicando una ruta desde una carpeta donde se aloja la base de datos como por ejemplo de nombre "Mibase".


Espero que puedan ayudarme con este inconveniente.



Saludos bouncebouncebouncebouncebouncebouncebouncebouncebouncebouncebouncebounce

Lo que puedes ocupar es una variable en un archivo .settings o crear en tu archivo program.cs una variable estática donde almacenes la ruta que vas a ocupar.

Otra alternativa es el Application.StartupPath que te devuelve la ruta absoluta de donde se encuentra la aplicación.

Saludos...
Volver arriba Ir abajo
Ver perfil de usuario
Contenido patrocinado




MensajeTema: Re: Conexión C# - Access   Hoy a las 6:06 pm

Volver arriba Ir abajo
 
Conexión C# - Access
Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.
 Temas similares
-
» Problema de Conexión en Mozilla Firefox
» como puedo editar el pop up de conexión
» Conexión inalámbrica con otros aparatos
» Conexión de la Tableta por USB al equipo portátil, sobremesa, PC...
» Tutorial Microsoft Query -conexión datos externos Excel-

Permisos de este foro:No puedes responder a temas en este foro.
CSPromex :: PROGRAMACIÓN EN C# :: Código abierto-
Cambiar a: