none
Realizar Filtrado de datos en una base de datos de Access 2007 desde C# RRS feed

  • Pregunta

  • Tengo una base de datos con una tabla llamada "PRECIOS" la cual contiene 3 campos, como soy nuevo en esto de bases de datos... realice la conexión con el asistente (no mediante código) y la conecte con un dataGridView (usando el dataSource que tiene el DGV), y se muestran todos los datos de la DB; el problema esque quiero hacer una especie de "filtrado" insertando un numero (campo "MODELO" que es la "Clave Principal" y es un campo numérico SIN DUPLICADOS), y que conforme valla introduciendo los números se vallan filtrando los datos..


    Eugenio Aguilar Torreón Coahuila México

    miércoles, 25 de julio de 2012 18:22

Respuestas

Todas las respuestas

  • no te animas a usar access sin asitente

    ADO.NET Parte 4 Actualización Información Ms Access

    ADO.NET - Parte 2 - Recuperar Información MS  Access

    seria mas simple implementar un filtrado

    Dim connstring As String = "connection string"
    Using cn As New OleDbConnection(connstring)
    	cn.Open()
    	
        Dim sql As String = "SELECT * FROM Tabla WHERE campo > @param"
        Dim cmd As New OleDbCommand(query, cn)
        cmd.Parameters.AddwithValue("@param", txtFiltro.Text)
    
    	
    	Dim da As New OleDbDataAdapter
    	Dim dt As DataTable
    	da.Fill(dt)
    
    End Using 

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta Eugenio Aguilar domingo, 7 de octubre de 2012 20:11
    miércoles, 25 de julio de 2012 20:51
  • bueno te comento que tengo este código,,, e intentare hacerlo por código... hay alguna desventaja en hacerlo con asistente o con código?
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Data.OleDb;
    using System.Data;
    
    
        class Datos
        {
            OleDbConnection MyConnection = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0; User ID=;Password=;
    Data Source=DataBase.accdb;Persist Security Info=False");
    
            //
    
            ///Insertar elemento
            public static bool InsertElement(int _modelo, decimal _mayoreo, decimal _menudeo)
            {
                bool fl;
                try
                {
                    OleDbConnection MyConnection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; User ID=;Password=; Data Source=DataBase.mdb;Persist Security Info=False");
                    OleDbCommand CommandQuery = new OleDbCommand("INSERT INTO PRECIOS(MODELO, MAYOREO, MENUDEO) VALUES('" + _modelo + "','" + _mayoreo + "','" + _menudeo + "')", MyConnection);
                    OleDbDataAdapter add = new OleDbDataAdapter();
                    MyConnection.Open();
                    add.InsertCommand = CommandQuery;
                    add.InsertCommand.ExecuteNonQuery();
                    MyConnection.Close();
                    fl = true;
                }
                catch { fl = false; }
                return fl;
            }
    
            ///Actualizar registro
            public static bool UpdateElement(int _oldModelo, int _newModelo, decimal _mayoreo, decimal _menudeo)
            {
                bool fl;
                try
                {
                    OleDbConnection MyConnection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; User ID=;Password=; Data Source=DataBase.mdb;Persist Security Info=False");
                    OleDbCommand CommandQuery = new OleDbCommand("UPDATE PRECIOS SET MODELO='" + _newModelo + "', MAYOREO='" + _mayoreo + "',MENUDEO='" + _menudeo + "' WHERE MODELO='" + _oldModelo + "'", MyConnection);
                    OleDbDataAdapter update = new OleDbDataAdapter();
                    MyConnection.Open();
                    update.UpdateCommand = CommandQuery;
                    update.UpdateCommand.ExecuteNonQuery();
                    MyConnection.Close();
                    fl = true;
                }
                catch { fl = false; }
                return fl;
            }
    
            ///Eliminar registro
            public static bool DeleteElement(int _modelo)
            {
                bool fl;
                try
                {
                    OleDbConnection MyConnection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; User ID=;Password=; Data Source=DataBase.mdb;Persist Security Info=False");
                    OleDbCommand CommandQuery = new OleDbCommand("DELETE FROM Agenda WHERE Nombre='" + _modelo + "'", MyConnection);
                    OleDbDataAdapter delete = new OleDbDataAdapter();
                    MyConnection.Open();
                    delete.DeleteCommand = CommandQuery;
                    delete.DeleteCommand.ExecuteNonQuery();
                    MyConnection.Close();
                    fl = true;
                }
                catch { fl = false; }
                return fl;
            }
    
            ///
            ///
            /*Esta función devuelve un array con la información que tenga la base de datos*/
    
            public static string[] getAllElements()
            {
                string[] productsList = null;
                int modelo = 0;
                decimal mayoreo = 0;
                decimal menudeo = 0;
    
                try
                {
                    OleDbConnection MyConnection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; User ID=;Password=; Data Source=DataBase.mdb;Persist Security Info=False");
                    OleDbDataAdapter MyAdapter = new OleDbDataAdapter("Select * from PRECIOS", MyConnection);
                    DataSet MyDataSet = new DataSet();
    
                    MyConnection.Open();
                    MyAdapter.Fill(MyDataSet);
                    if (MyDataSet.Tables[0].Rows.Count > 0)
                    {
                        productsList = new string[MyDataSet.Tables[0].Rows.Count];
    
                        for (int i = 0; i < MyDataSet.Tables[0].Rows.Count; i++)
                        {
                            DataRow campo = MyDataSet.Tables[0].Rows[i];
    
                            modelo = int.Parse(campo["MODELO"].ToString());
                            mayoreo = decimal.Parse(campo["MAYOREO"].ToString());
                            menudeo = decimal.Parse(campo["MENUDEO"].ToString());
                            productsList[i] = modelo + " " + mayoreo + " " + menudeo;
                        }
                    }
                    MyConnection.Close();
                }
                catch { productsList = null; }
                return productsList;
            }
        }


    Eugenio Aguilar Torreón Coahuila México


    miércoles, 25 de julio de 2012 22:17