C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 17 - O SQL и CDaoRecordset / DAO / Visual C++

Шаг 17 - O SQL и CDaoRecordset

Мы можем использовать SQL оператор для доступа к данным и формирования набора. Мы это делали вот так:

cDaoRset = new CExtRecordSet(&cDaoDB);
cDaoRset->Open( AFX_DAO_USE_DEFAULT_TYPE,"SELECT * FROM TABLE1 ");

Запрос SELECT * FROM TABLE1 выбирает все колонки из таблицы Table1. Мы с Вами работали только с одной колонкой. Выбор одной колонки экономит время работы и память. Как выбрать одну колонку ??? Вместо * указать ее.

cDaoRset->Open( AFX_DAO_USE_DEFAULT_TYPE,"SELECT Name FROM TABLE1");

Будет иметь тот же результат. А больше ??? Можно и больше, если у вас конечно в таблице больше. Вот так:

cDaoRset->Open( AFX_DAO_USE_DEFAULT_TYPE,"SELECT Name,ID FROM TABLE1");

ID у меня есть в таблице.

17_1.gif (1945 b)

Итак, общий вид такой:

SELECT Pole1,Pole2 FROM INPUT_TABLE

Если все, то *. Можно при выборе сразу и указать сортировку с помощью ORDER BY. Вот так:

cDaoRset->Open( AFX_DAO_USE_DEFAULT_TYPE,"SELECT Name,ID FROM TABLE1 ORDER BY Name");

Общий вид:

SELECT Pole1,Pole2 FROM INPUT_TABLE ORDER BY Pole_Sort

При создании SQL оператора вы можете ошибиться в синтаксисе. Ничего страшного, получите сообщение об ошибке и пустой набор. Вот такую примерно:

17_2.gif (1444 b)

А сортировать по двум полям ??? То же можно через запятую:

SELECT Pole1,Pole2 FROM INPUT_TABLE ORDER BY Pole_Sort1 , PoleSort2

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

cDaoRset->Open( AFX_DAO_USE_DEFAULT_TYPE,"SELECT Name,ID FROM TABLE1 WHERE ID > 20 ORDER BY Name");

Выборку выполняет WHERE поле условие значение. Для сложного условия можно использовать AND, OR и сравнения:

<
>
=
>=
<=
<>

| |
Автор Каев Артем.
[AD]