Exemple #1
0
        public List<Service1.IskalniRezultat> IskanjeUkazno(string ukaz)
        {
            ukaz = ukaz.Trim();
            ukaz = Regex.Replace(ukaz, @"\s+", "");
            string[] columns = new[] { " upo133.Avtor.Avtor LIKE '%", " upo133.Knjiga.Naslov LIKE '%",
                " upo133.Knjiga.LetoIzdaje LIKE '%", " upo133.Jezik.Jezik LIKE '%",
                " upo133.Gradivo.Vrsta LIKE '%" };
            string[] zacUkazi = new string[5];
            Dictionary<int, int> orAnd = new Dictionary<int, int>();

            int ind = ukaz.IndexOf("OR", 0, StringComparison.InvariantCulture);
            while (ind != -1)
            {
                orAnd.Add(ind, ind + 5);
                ind = ukaz.IndexOf("OR", ind + 3, StringComparison.InvariantCulture);
            }
            ind = ukaz.IndexOf("AND", 0, StringComparison.InvariantCulture);
            while (ind != -1)
            {
                orAnd.Add(ind, ind + 6);
                ind = ukaz.IndexOf("AND", ind + 3, StringComparison.InvariantCulture);
            }

            var keys = from k in orAnd.Keys
                        orderby k descending
                        select k;

            for (int i = 0; i < columns.Length; i++ )
            {
                string zacUkaz = ukaz + "%') ";
                foreach (int key in keys)
                {
                    zacUkaz = zacUkaz.Insert(key, "%' ");
                    zacUkaz = zacUkaz.Insert(orAnd[key], columns[i]);
                }
                zacUkazi[i] = "(" + columns[i] + zacUkaz;
            }

            string celotniUkaz = zacUkazi[0];
            for (int i = 1; i < zacUkazi.Length; i++ )
            {
                celotniUkaz += " OR " + zacUkazi[i];
            }

            command = new SqlCommand("upo133.UkaznoIskanje", con);
            command.CommandType = CommandType.StoredProcedure;
            command.Parameters.AddWithValue("@celotniUkaz", celotniUkaz);

            DataSet ds = new DataSet("Rezultat");
            SqlDataAdapter sql = new SqlDataAdapter(command);
            sql.Fill(ds);

            List<Service1.IskalniRezultat> rezultati = new List<Service1.IskalniRezultat>();
            foreach (DataRow dataRow in ds.Tables[0].Rows)
            {
                Service1.IskalniRezultat ir = new Service1.IskalniRezultat();
                ir.ID = (int)dataRow["ID"];
                ir.avtor = (string)dataRow["Avtor"];
                ir.naslov = (string)dataRow["Naslov"];
                ir.vrsta = (string)dataRow["Vrsta"];
                ir.jezik = (string)dataRow["Jezik"];
                ir.leto = (int)dataRow["LetoIzdaje"];
                //ir.dostop = (string)dataRow["Dostopnost"];
                rezultati.Add(ir);
            }

            return rezultati;
        }
Exemple #2
0
        public List<Service1.IskalniRezultat> IskanjeIzbirno(string avtor,
            string naslov, string leto, string jezik, string gradivo)
        {
            command = new SqlCommand("upo133.IzbirnoIskanje", con);
            command.CommandType = CommandType.StoredProcedure;
            if (avtor == " ")
            {
                command.Parameters.Add("@avtor", SqlDbType.NVarChar).Value = DBNull.Value;
            }
            else
            {
                command.Parameters.AddWithValue("@avtor", avtor);
            }
            if (naslov == " ")
            {
                command.Parameters.Add("@naslov", SqlDbType.NVarChar).Value = DBNull.Value;
            }
            else
            {
                command.Parameters.AddWithValue("@naslov", naslov);
            }
            if (leto == " ")
            {
                command.Parameters.Add("@leto", SqlDbType.NVarChar).Value = DBNull.Value;
            }
            else
            {
                command.Parameters.AddWithValue("@leto", leto);
            }
            if (jezik == " ")
            {
                command.Parameters.Add("@jezik", SqlDbType.NVarChar).Value = DBNull.Value;
            }
            else
            {
                command.Parameters.AddWithValue("@jezik", jezik);
            }
            if (gradivo == " ")
            {
                command.Parameters.Add("@vrsta", SqlDbType.NVarChar).Value = DBNull.Value;
            }
            else
            {
                command.Parameters.AddWithValue("@vrsta", gradivo);
            }

            DataSet ds = new DataSet("Rezultat");
            SqlDataAdapter sql = new SqlDataAdapter(command);
            sql.Fill(ds);

            List<Service1.IskalniRezultat> rezultati = new List<Service1.IskalniRezultat>();
            foreach (DataRow dataRow in ds.Tables[0].Rows)
            {
                Service1.IskalniRezultat ir = new Service1.IskalniRezultat();
                ir.ID = (int)dataRow["ID"];
                ir.avtor = (string)dataRow["Avtor"];
                ir.naslov = (string)dataRow["Naslov"];
                ir.vrsta = (string)dataRow["Vrsta"];
                ir.jezik = (string)dataRow["Jezik"];
                ir.leto = (int)dataRow["LetoIzdaje"];
                //ir.dostop = (string)dataRow["Dostopnost"];
                rezultati.Add(ir);
            }

            return rezultati;
        }
Exemple #3
0
        public List<Service1.IskalniRezultat> IskanjeOsnovno(string jezik, string gradivo, string beseda)
        {
            command = new SqlCommand("upo133.OsnovnoIskanje", con);
            command.CommandType = CommandType.StoredProcedure;
            command.Parameters.AddWithValue("@vrsta", gradivo);
            command.Parameters.AddWithValue("@jezik", jezik);
            command.Parameters.AddWithValue("@iskalniNiz", beseda);

            DataSet ds = new DataSet("Rezultat");
            SqlDataAdapter sql = new SqlDataAdapter(command);
            sql.Fill(ds);

            List<Service1.IskalniRezultat> rezultati = new List<Service1.IskalniRezultat>();
            foreach (DataRow dataRow in ds.Tables[0].Rows)
            {
                Service1.IskalniRezultat ir = new Service1.IskalniRezultat();
                ir.ID = (int)dataRow["ID"];
                ir.avtor = (string)dataRow["Avtor"];
                ir.naslov = (string)dataRow["Naslov"];
                ir.vrsta = (string)dataRow["Vrsta"];
                ir.jezik = (string)dataRow["Jezik"];
                ir.leto = (int)dataRow["LetoIzdaje"];
                //ir.dostop = (string)dataRow["Dostopnost"];
                rezultati.Add(ir);
            }

            return rezultati;
        }