построение запроса параметров SQL - LIKE% в .cs и в виде сетки - PullRequest
2 голосов
/ 19 мая 2010

Я пытаюсь реализовать вход администратора и оператора (Индия, Австралия, Америка), теперь идентификатор оператора начинается с 'IND123', 'AUS123' и 'AM123'

, когда оператор Индии входит в систему, он может видетьдетали только членов имеют идентификатор «IND%», то же самое относится к австралийским и американским пользователям

, и когда администратор входит в систему, он может видеть детали участников с идентификатором «IND%» или «AUS%» или'AM%'

у меня есть таблица, которая определяет роль, т.е. администратор или оператор и их префикс (IND, AUS соответственно)

На странице входа я создал сеанс для роли и префикса PREFIX = myReader[ "Префикс"] ToString ().Session ["LoginRole"] = myReader ["Role"]. ToString ();Session ["LoginPrefix"] = String.Concat (PREFIX + "%");отлично работает

На главной странице (после входа в систему) я должен посчитать количество членов, поэтому я написал

    string prefix = Session["LoginPrefix"].ToString();
    string role = Session["LoginRole"].ToString();

    if (role.Equals("ADMIN"))
            StrMemberId = "select count(*) from MemberList";
    else
        StrMemberId = "select count(*) from MemberList where MemberID like '"+prefix+"'";

тоже отлично работает

Проблема: 1. Я хочудля конструирования параметра что-то вроде StrMemberId = "select count (*) из MemberList, где MemberID похож на '@prefix +'";

myCommd.Parameters.AddWithValue ("@ prefix", prefix);Что не работает

2 Отображение членов в gridview, мне нужно дать условие (что-то вроде if (role.Equals ("ADMIN")) показать всех участников, покажет элемент в зависимости от префикса оператора) списокучастники в режиме оператора и режиме администратора.- где поставить условие в gridview, как применять эти

, пожалуйста, предложите что-то С уважением

Индранил

Ответы [ 2 ]

2 голосов
/ 19 мая 2010

Вам нужно построить свой запрос следующим образом:

"select count(*) from MemberList where MemberID like @prefix"

тогда

cmd.Parameters.AddWithValue("@prefix", prefix + "%")

1 голос
/ 19 мая 2010
  1. Это должно быть "select count(*) from MemberList where MemberID like @prefix";
  2. Вы можете лучше выполнить все эти проверки в подпроцедуре и соответственно вернуть результаты. Затем набор результатов может быть привязан к сетке
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...