Beispiel #1
0
        public DataTable Select(string key, string word)
        {
            var keyConverted = data.Convert(key);

            //Pasamos objeto conexion
            var cn = new NpgsqlConnection(conn);

            //Abrimos conexion
            cn.Open();

            //Reestablecemos el Dataset
            ds.Reset();

            if (word == "")
            {
                var query = "SELECT * FROM tbl_action UNION SELECT * FROM tbl_adventure UNION " +
                            "SELECT * FROM tbl_driving UNION SELECT * FROM tbl_indie UNION " +
                            "SELECT * FROM tbl_mmo UNION SELECT * FROM tbl_moba UNION " +
                            "SELECT * FROM tbl_sport UNION SELECT * FROM tbl_strategy UNION " +
                            "SELECT * FROM tbl_terror";

                //adapter para hacer la peticion a la conexion
                NpgsqlDataAdapter da = new NpgsqlDataAdapter(query, cn);
                //Llenamos dataset con el resultado del adapter
                da.Fill(ds);

                //Porque puede manejar varias tablas, Seleccionamos la primera
                dt = ds.Tables[0];
            }
            else
            if (keyConverted == "release")
            {
                var query = "SELECT * FROM tbl_action WHERE act_release = '" + word + "' UNION SELECT * FROM tbl_adventure WHERE adv_release = '" + word + "' UNION " +
                            "SELECT * FROM tbl_driving WHERE dri_release = '" + word + "' UNION SELECT *FROM tbl_indie WHERE ind_release = '" + word + "' UNION " +
                            "SELECT * FROM tbl_mmo WHERE mmo_release = '" + word + "' UNION SELECT * FROM tbl_moba WHERE mob_release = '" + word + "' UNION " +
                            "SELECT * FROM tbl_sport WHERE spo_release = '" + word + "' UNION SELECT * FROM tbl_strategy WHERE str_release = '" + word + "' UNION " +
                            "SELECT * FROM tbl_terror WHERE ter_release = '" + word + "'";

                //adapter para hacer la peticion a la conexion
                NpgsqlDataAdapter da = new NpgsqlDataAdapter(query, cn);
                //Llenamos dataset con el resultado del adapter
                da.Fill(ds);

                //Porque puede manejar varias tablas, Seleccionamos la primera
                dt = ds.Tables[0];
            }
            else
            if (keyConverted == "rating")
            {
                var query = "SELECT * FROM tbl_action WHERE act_rating = " + word + " UNION SELECT * FROM tbl_adventure WHERE adv_rating = " + word + " UNION " +
                            "SELECT * FROM tbl_driving WHERE dri_rating = " + word + " UNION SELECT * FROM tbl_indie WHERE ind_rating = " + word + " UNION " +
                            "SELECT * FROM tbl_mmo WHERE mmo_rating = " + word + " UNION SELECT * FROM tbl_moba WHERE mob_rating = " + word + " UNION " +
                            "SELECT * FROM tbl_sport WHERE spo_rating = " + word + " UNION SELECT * FROM tbl_strategy WHERE str_rating = " + word + " UNION " +
                            "SELECT * FROM tbl_terror WHERE ter_rating = " + word + "";

                //adapter para hacer la peticion a la conexion
                NpgsqlDataAdapter da = new NpgsqlDataAdapter(query, cn);
                //Llenamos dataset con el resultado del adapter
                da.Fill(ds);

                //Porque puede manejar varias tablas, Seleccionamos la primera
                dt = ds.Tables[0];
            }
            else
            {
                var query = "SELECT * FROM tbl_action  WHERE act_" + keyConverted + " ILIKE '%" + word + "%' UNION SELECT * FROM tbl_adventure WHERE adv_" + keyConverted + " ILIKE '%" + word + "%' UNION " +
                            "SELECT * FROM tbl_driving  WHERE dri_" + keyConverted + " ILIKE '%" + word + "%' UNION SELECT * FROM tbl_indie WHERE ind_" + keyConverted + " ILIKE '%" + word + "%' UNION " +
                            "SELECT * FROM tbl_mmo  WHERE mmo_" + keyConverted + " ILIKE '%" + word + "%' UNION SELECT * FROM tbl_moba WHERE mob_" + keyConverted + " ILIKE '%" + word + "%' UNION " +
                            "SELECT * FROM tbl_sport  WHERE spo_" + keyConverted + " ILIKE '%" + word + "%' UNION SELECT * FROM tbl_strategy WHERE str_" + keyConverted + " ILIKE '%" + word + "%' UNION " +
                            "SELECT * FROM tbl_terror  WHERE ter_" + keyConverted + " ILIKE '%" + word + "%'";


                //adapter para hacer la peticion a la conexion
                NpgsqlDataAdapter da = new NpgsqlDataAdapter(query, cn);

                //Llenamos dataset con el resultado del adapter
                da.Fill(ds);

                //Porque puede manejar varias tablas, Seleccionamos la primera
                dt = ds.Tables[0];
            }

            //Cerramos conexion
            cn.Close();

            //retornamos objeto datatable
            return(dt);
        }