На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> Несколько запросов в одном connection`е
    Здравствуйте. Делаю несколько запросов в одном connection, вот так
    ExpandedWrap disabled
       try
      {
                      server = "localhost";
                      database = "bit_mast";
                      uid = "root";
                      password = "admin";
                      string connectionString = "SERVER=" + server + ";" +
                                                "DATABASE=" + database + ";" +
                                                "UID=" + uid + ";" +
                                                "PASSWORD=" + password + ";";
                      string query = "select id_car, model, marka, number from cars";
                      
                      connection = new MySqlConnection(connectionString);
                      MySqlCommand command = new MySqlCommand(query, connection);
                      
                      connection.Open();
                      MySqlDataAdapter adapt = new MySqlDataAdapter(command);
                      DataSet ds = new DataSet();
                      adapt.Fill(ds);
                      CarsGrid.DataSource = ds.Tables[0].DefaultView;
          
                      query = "select id_driver, name, family, father from drivers";
                      command = new MySqlCommand(query, connection);
                      adapt = new MySqlDataAdapter(command);
                      ds = new DataSet();
                      adapt.Fill(ds);
                      DriversGrid.DataSource = ds.Tables[0].DefaultView;
                      
                      query = " select crews.id, crews.name, cars.name_car, CONCAT(d.name, d.family,  d.father)"+
                              " from crews " +
                              " join cars on crews.id_car = cars.id_car " +
                              " join drivers as d on crews.id_driver = d.id_driver ";
                      command = new MySqlCommand(query, connection);
                      adapt = new MySqlDataAdapter(command);
                      ds = new DataSet();
                      adapt.Fill(ds);
                      CrewsGrid.DataSource = ds.Tables[0].DefaultView;
                      
                      
                      connection.Close();
                  }
                  catch (Exception ex)
                  {
                      MessageBox.Show(ex.Message);
                  }

    Насколько это правильно? Или лучше сделать как-нибудь через пул?

    Добавлено
    Извиняюсь, переместите тему.
      Это нормально, чем меньше коннекшенов - тем лучше. И правильнее ее использовать через using, чтобы гарантировать ее закрытие.
        Спасибо!
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0539 ]   [ 16 queries used ]   [ Generated: 27.04.24, 07:30 GMT ]