Си диез / Говнокод #15854 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
SqlConnection con = new SqlConnection(connectionString);
            string sql = "SELECT idea.Id, idea.Small_text, idea.Full_text, idea.Example_text, ";
            sql = sql + " ul.FullName as Avtor, ref.Name as Status, even.date_act, (select count (*) from events ev where ev.id_action=2 and ev.id_target=idea.Id and ev.type_target=1) as CountComm, (select count (*) from events ev where ev.id_action=57 and ev.id_target=idea.Id and ev.type_target=1) as Voit, (select max(ev.date_act) from events ev where ev.id_action in (1,2,4,5,7,8,9,10,58,60,61,62,63,64,65,66,67,68,69,70,71,72,74) and ev.id_target=idea.Id and ev.type_target=1) as Last_action";
            sql = sql + " FROM Idea idea, UserLists ul, Refbook ref, Events even ";
            sql = sql + " WHERE idea.Avtor=ul.Id and idea.Status_id = ref.Id and even.id_action=1 and even.type_target=1 and even.id_target=idea.id ";
            if (id >= 0)
                sql = sql + "  and idea.Status_id=" + id;
            if (id_avtor >= 0)
                sql = sql + "  and idea.Avtor=" + id_avtor;
            sql = sql + " ORDER BY Last_action desc";

            SqlCommand cmd = new SqlCommand(sql, con);
            cmd.CommandType = CommandType.Text;
            List<Idea> Ideas = new List<Idea>();
            using (con)
            {
                con.Open();
                SqlDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    Idea idea = GetIdeaInfo(Int32.Parse(reader["Id"].ToString()));
                    Ideas.Add(idea);
                }
                reader.Close();
                return Ideas;
            }

Принял еще один проект. ASP.NET MVC4. Автор уехал в Новую Зеландию.

Запостил: Vince Vince, (Updated )

Комментарии (5) RSS

  • Тьфу, блеа.
    Даже на T-SQL можно писать по-мускульному.
    Ответить
    • Нету же важного элемента.
      SELECT `idea`.`Id`, `idea`.`Small_text`, `idea`.`Full_text`,` idea`.`Example_text`
      Ответить
  • Сначала подумал, что проблема в SQL-инъекции, Потому как вместо command.Parameters.AddWithValue используется простая конкатенация. Потом догадался прокрутить до упора вправо... О боже, езжайте за ним в Новую Зеландию, прихватите с собок АК47. Перед непосредственным применение не забудьте сказать фразу "за чистый генофонд". Удачи, командировочные получите в аэропорту, вылетайте немедленно.
    Ответить
  • В один из вечеров, когда родители парней были на очередном официальном рауте по работе, Артем пришёл домой пьяный в дым, случайно завалился в комнату брата, когда тот уже спал, споткнулся обо что-то и растянулся на полу, глупо хихикая.
    Ответить

Добавить комментарий

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8