Шаг 90.
Microsoft Visual C++ 2010. Начала. Базы данных. База данных Microsoft Access. Выбор информации из базы данных. SQL-запрос SELECT

    На этом шаге мы приведем общие сведения по этому SQL-оператору.

    Чтобы выбрать из базы данных только нужные записи, надо направить серверу SQL-команду SELECT, указав в качестве параметра критерий отбора записей.

    В общем виде SQL-команда SELECT, обеспечивающая выборку данных из базы данных (таблицы), выглядит так:

  SELECT СписокПолей 
    FROM Таблица 
    WHERE (Критерий) 
    ORDER BY СписокПолей

    Параметр Таблица задает таблицу базы данных, из которой надо выбрать (получить) данные. Параметр СписокПолей, указанный после слова SELECT, задает поля, содержимое которых надо получить (если необходимы данные из всех полей, то вместо списка полей можно указать "звездочку"). Параметр Критерий задает критерий (условие) отбора записей. Параметр СписокПолей, указанный после ORDER BY, задает поля, по содержимому которых будут упорядочены записи таблицы, сформированной в результате выполнения команды.

    Например, команда

  SELECT name, phone 
    FROM contacts 
    WHERE name = 'Иван Петров'
обеспечивает выборку из таблицы contacts записи, у которой в поле name находится текст Иван Петров.

    В критерии запроса (при сравнении строк) вместо конкретного значения можно указать шаблон. Например, шаблон Ива% обозначает все строки, которые начинаются с Ива, а шаблон %Ива% — все строки, в которых есть подстрока Ива. При использовании шаблонов вместо оператора = надо использовать оператор LIKE. Например, запрос

  SELECT * 
    FROM contacts 
    WHERE name LIKE 'Ку%'
выберет из таблицы contacts только те записи, в поле name которых находится текст, начинающийся с Ку. Вместо оператора LIKE можно использовать оператор CONTAINING (Содержит). Например, приведенный ранее запрос, целью которого является вывод списка людей, фамилии которых начинаются с Ку, при использовании оператора CONTAINING будет выглядеть так:
  SELECT * 
    FROM contacts 
    WHERE name CONTAINING 'Ку'
Если запрос формируется во время работы программы, то следует использовать параметры. Параметр в SQL-команде задается знаком "?". Например, команда с параметром, обеспечивающая выборку из таблицы contacts записей по содержимому поля name, выглядит так:
  SELECT * 
    FROM contacts 
    WHERE name LIKE ?

    Очевидно, что перед тем как активизировать выполнение команды, параметру надо присвоить значение.

    Здесь надо вспомнить, что доступ к базе данных обеспечивает компонент OleDbDataAdapter, свойство SelectCommand которого представляет собой объект OleDbCommand, а свойство Parameters объекта OleDbCommand является списком параметров команды. Следует обратить внимание на то, что независимо от числа параметров команды все они обозначаются символом "?". Связь между параметрами в команде и в списке параметров осуществляется по номеру. Первому параметру соответствует нулевой элемент коллекции Parameters (элементы коллекции нумеруются с нуля), второму - первый и т. д.

    На следующем шаге мы рассмотрим пример использования этого оператора.




Предыдущий шаг Содержание Следующий шаг