Группировать по проблеме .. при извлечении данных из таблицы - PullRequest
0 голосов
/ 16 сентября 2011

Я начинающий в Sql, я пытаюсь SQL Group By, мое требование ниже.

Table Structure  <br> 
USerID  int <br> 
BrowserName nvarchar(200) <br> 
BrowserVersion nvarchar <br> 
LoggedOntime  Time 

вот мое требование.Я хочу выбрать все детали, основанные на идентификаторе пользователя, а также указать группу по имени браузера.Я попробовал следующий запрос на его повторную настройку.но как использовать это в visual studio для отображения в Gridview в качестве группы для каждого браузера.когда пользователь щелкает группу в gridview, он должен отображать все детали этого браузера.

например.Если я щелкну FireFox, то он должен показать детали для Firfox Group со всеми версиями и подробности LoggedOnTime для конкретного идентификатора пользователя

select  
  BrowserName, 
  LoggedOnTime, 
  BrowserVersion
from 
  BrowserSession 
  inner join Users on UserId = Users.UsersId
where 
  UserId=21 
group by 
  BrowserName, 
  LoggedOnTime,
  BrowserVersion 
order by 
  BrowserName, 
  LoggedOnTime

Ответы [ 2 ]

1 голос
/ 16 сентября 2011

Если запрос static, вы можете сделать это, в противном случае вы можете использовать parameters в запросе:

        SqlConnection con = new SqlConnection(connectionString);

        string sqlQuery = "select  BrowserName, LoggedOnTime, BrowserVersion"
                            + " from BrowserSession inner join Users on UserId=Users.UsersId"
                            + " where UserId=21 group by BrowserName, LoggedOnTime,BrowserVersion order by BrowserName, LoggedOnTime";

        SqlCommand cmd = new SqlCommand(sqlQuery, con);
        SqlDataAdapter adapter = new SqlDataAdapter(cmd);
        DataSet ds = new DataSet();

        adapter.Fill(ds, "TableName");

        GridView1.DataSource = ds;
        GridView1.DataBind();

Использование параметров:

        string sqlQuery = "select  BrowserName, LoggedOnTime, BrowserVersion"
                            + " from BrowserSession inner join Users on UserId=Users.UsersId"
                            + " where UserId=@userID group by BrowserName, LoggedOnTime,BrowserVersion order by BrowserName, LoggedOnTime";

        SqlCommand cmd = new SqlCommand(sqlQuery, con);
        cmd.Parameters.AddWithValue("@userID", 21);
0 голосов
/ 16 сентября 2011

Вы можете создать сетку данных для каждой группы и вставить в родительскую сетку.Привязать сетку подчиненных данных к конкретной группе данных.

Вот несколько ссылок.

  1. Шаг за шагом Мне не удалось получить доступ к демонстрационной версии в реальном времени,Это похоже на то, что вы хотите.
  2. 4 Ребята из Rolla
  3. Сообщите вид макета в asp.net 1.1 CodeProject
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...