示例#1
0
        private void btnConsultar_Click(object sender, EventArgs e)
        {
            // las condiciones de los filtros se puede pasar a traves de una coleccion de claves y valores (Dictionary)
            // o bien a través de una cadena de condiciones
            String sqlcondiciones;

            sqlcondiciones = "";

            // Dictionary: Representa una colección de claves y valores.
            Dictionary <string, object> parametros = new Dictionary <string, object>();

            DateTime fechaDesde;
            DateTime fechaHasta;



            if (DateTime.TryParse(txtFechaDesde.Text, out fechaDesde) &&
                DateTime.TryParse(txtFechaHasta.Text, out fechaHasta))
            {
                string desdeSinHora = (string)fechaDesde.ToShortDateString();
                string hastaSinHora = (string)fechaHasta.ToShortDateString();

                //convertir string a fecha en sqlserver: https://www.w3schools.com/sql/func_sqlserver_convert.asp
                //CONVERT(datetime,"02/02/2019",103) converte el string "02/02/2019" a fechahora (asi esta en la bd) y 103 indica que considera la fecha como dd/mm/aaaa
                sqlcondiciones += " AND (producto.fecha_alta>=" + "Convert(DateTime," + "'" + desdeSinHora + "'" + ",103)" + " AND producto.fecha_alta<=" + "Convert(DateTime," + "'" + hastaSinHora + "'" + ",103)" + ") ";
                //parametros.Add("fechaDesde", txtFechaDesde.Text);
                //parametros.Add("fechaHasta", txtFechaHasta.Text);
            }


            if (!string.IsNullOrEmpty(txtNombre.Text))
            {
                var nombre = txtNombre.Text;
                sqlcondiciones += " AND ( producto.nombre LIKE " + "'" + "%" + nombre + "%" + "'" + ") ";
            }

            if (!string.IsNullOrEmpty(cboMarcas.Text))
            {
                var marca = cboMarcas.SelectedValue.ToString();
                sqlcondiciones += " AND (producto.id_marca=" + marca + ") ";
            }



            //sin usar parametros (concatenando condiciones)
            IList <Producto> listadoProductos = productoService.ConsultarProductosConFiltrosCondiciones(sqlcondiciones);

            //Asigno a la grilla la lista de objetos bug
            dgvProductos.DataSource = listadoProductos;

            if (dgvProductos.Rows.Count == 0)
            {
                MessageBox.Show("No se encontraron coincidencias para el/los filtros ingresados", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
示例#2
0
        private void btnConsultar_Click(object sender, EventArgs e)
        {
            // las condiciones de los filtros se puede pasar a traves de una coleccion de claves y valores (Dictionary)
            // o bien a través de una cadena de condiciones
            String sqlcondiciones;

            sqlcondiciones = "";

            DateTime fechaDesde;
            DateTime fechaHasta;

            if (DateTime.TryParse(txtFechaDesde.Text, out fechaDesde) &&
                DateTime.TryParse(txtFechaHasta.Text, out fechaHasta))
            {
                sqlcondiciones += " AND (bug.fecha_alta>=" + fechaDesde + " AND bug.fecha_alta<=" + fechaHasta + ") ";
            }



            if (!string.IsNullOrEmpty(cboMarcas.Text))
            {
                var marca = cboMarcas.SelectedValue.ToString();
                sqlcondiciones += " AND (producto.id_marca=" + marca + ") ";
            }



            //sin usar parametros (concatenando condiciones)
            IList <Producto> listadoProductos = productoService.ConsultarProductosConFiltrosCondiciones(sqlcondiciones);

            //Asigno a la grilla la lista de objetos bug
            dgvProductos.DataSource = listadoProductos;

            if (dgvProductos.Rows.Count == 0)
            {
                MessageBox.Show("No se encontraron coincidencias para el/los filtros ingresados", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }