|
Программирование >> Элементы языков с и с++
Чтобы иметь некоторое представление, например, об операторе select, приведем сокращенный синтаксис этого оператора: SELECT {- I <val> [, <val> . . . ] } [INTO : var [, : var . . . ] ] FRCM <tableref> [, <tableref> ...] [WHERE <search condition>] [ORDER BY <order list>] Здесь: 2 INTO- содержит список переменных (var), в которых станут запоминаться извлекаемые поля таблиц; 1 FROM-- в этом элементе перечисляются таблицы, из которых будег происходить выборка; ] WHERE - этот элемент задает условия поиска данных; ] ORDER BY - задает сортировку возвращаемых строк (по возрастанию или убыванию значений полей таблицы); 3 <val> = { col I <expr> I <function>} col - имя поля таблицы; ехрг - некоторое SQL-выражение. Например, можно записать оператор select в таком виде: select Salary * 0.13 from Employee (что означает: выбрать из таблицы Employee столбец Salary, умноженный на 0.13). Результатом будет столбец суммы налога по каждому работнику. Salary * 0.13 - это и есть SQL-выражение; <function> = COUNT {* I [ALL] <val> I DISTINCT <val>) SUM {[ALL] <val> I DISTINCT <val>) AVG {[ALL] <val> DISTINCT <val>) MAX ([ALL] <val> DISTINCT <val>) MIN {[ALL] <val> 1 DISTINCT <val>) CAST {<val> AS <datatype>) UPPER {<val>) это список функций, которые могут участвовать в операторе select. <tableref > - это имена таблиц, из которых происходит выборка; <searGh condition> - это условия отбора данных в выборку: I <val> [NOT] BETWEEN <val> AND <val> I <val> [NOT] LIKE <val> [ESCAPE <val>] I <val> [NOT] IN {<val> [, <val> ...] I <select list>) I <val> IS [NOT] NULL I <val> {>= I <=} I <val> [NOT] {= I < I >} I (ALL I SOME I ANY} {<select list>) Примеры оператора SELECT П select JOB GRADE, PROJECT; job code, job country, max salary from Этот оператор выбирает из таблицы project четыре поля (т. е. все строки по этим полям). А куда, кстати, поместятся результаты выборки? Они будут в том объекте, который этот запрос выполняет: у такого компонента имеется командная строка (Command Text), где и должен находиться текст оператора выборки. Компонент выполнит этот оператор, а результат либо поместит в своем буфере, откуда его надо будет извлекать, либо передаст другому компоненту, с которым он связан. Все зависи! от того, как построена среда программирования. В нашем случае будет иметь место последнее утверждение: к каждой таблице подключается такой ко\нюнент (он называется таЫе Adapter), который формирует запрос на выборку, выполняет эту выборку и передает ее результаты в связанную с ним таблицу. SELECT * FROM countries; В этом операторе выбираются вес строки из таблицы с именем countries. exec sql SELECT COUNT (*) INTO : cnt FROM country WHERE population > 5000000; Этот оператор использует при выборке функцию для подсчета всех сгрок в таблице. Поиск должен удовлетворять условию, определенному в элементе WHERE (нужно выбрать из таблицы country те записи, в которых значение поля population больше 5 ООО ООО). SELECT city, STATE FROM cities ORDER BY state; Этот оператор извлекает из таблицы cities два столбца: city и state, а также упорядочивает строки по значению столбца state. И еще об одном надо сказать: в данной среде программирования обшение с базами данных происходит по так называемой ADO-технологии, когда чтобы добраться до соответствующей БД, формируется специги1ьная строка, называемая строкой соединения с БД (Connecting String). Она формируется с помощью средств самой среды через диалоговые окна общения с пользователем. Среда данной версии Visual С++ 2008 позволяет подсоединяться к двум типам баз данных: базам данных типа MS Access и базам данных типа MS SQL Server. С точки зрения технологии работы с ними, эти БД между со-I бой ничем не отличаются. В момент формирования строки соединения следует просто выбрать из двух вариантов. Наборы данных (компонент DataSet) Наборы данных (ПД) - это такие объекты DataSet (в нашем случае это ком-онент палитры компонентов), через которые происходит подключение при-жения к базам данных. При этом информация из БД загружается в НД, который затем станет обеспечивать данными ваше приложение из локальной кэш-памяти. С таким НД можно работать даже тогда, когда ваше приложение
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |