Новость из категории: Информация

Ultimate++: SqlExp

Содержание:
1. Сессии и объекты запросов;
2. SqlExp (Вы читаете данный раздел);
3. Схемы баз данных;
4. Виджеты для работы с базами данных.
Ultimate++: SqlExp

Пока работа с SQL в U++ выглядит столь же скучной, как и в любом другом тулките, однако все резко меняется с применением объектов SqlExp. Эти объекты позволяют конструировать запросы не в виде обычных строк, а в виде выражений С++ с перегруженными операторами. Это дает возможность проверки правильности запросов на стадии компиляции, абстрагирует большинство особенностей синтаксиса различных баз данных и об-легчает создание сложных запросов.

Для начала нужно создать объекты специального типа SqlId для самой таблицы и ее столбцов (естественно, делать это нужно уже после создания таблицы).
SqlId A("A"), B("B"), TEST("TEST");

Теперь эти объекты обеспечивают доступ к таблице и столбцам. Для вставки элементов в таблицу можно использовать выражение:
for(int i = 0; i < 10; i++)
db * Insert(TEST) (A, i)(B, AsString(i * i));

Ultimate++: SqlExp

Объект запроса имеет перегруженный оператор «*», вторым операндом которого является объект типа SqlExp, возвращаемый функцией Insert. Выгоды такого подхода очевидны - больше не нужно скрупулезно высчитывать какому именно знаку «?» соответствует один из передаваемых двадцати параметров в запросе insert для сложной таблицы. Передаваемое значение всегда сгруппировано с именем нужного столбца, а передавать такие пары можно в любом удобном порядке. Выборка элементов тоже выглядит очень просто:
// Вернуть все строки для чисел меньше 5 и квадратов не равных 4 db * Select(SqlAll()).From(TEST).Where(A<5 && B!=4); while(db.Fetch())
Cout() << db[A] << " '" << db[B] << "'n";

Вместо целочисленных индексов для доступа к столбцам можно передавать объекты SqlId, что также очень облегчает жизнь в случае большого числа столбцов.

На странице http://www.ultimatepp.org/src$Sql$SqlExp$en-us. html приведено множество примеров реальных SQL-запросов и эквивалентных им выражений SqlExp. Как правило, такой «перевод» тривиален и интуитивно понятен. Чем сложнее становятся запросы, тем больше проявляются преимущества SqlExp.



Обожаете кодить на C++ под музыку? Тогда настоятельно советую Вам скачать онлайн радио плеер (http://doplayer.ru/), в котором собраны все самые популярные радиостанции мира! Называется этот плеер DOplayer и идеально работает на компьютерах любой мощности!

Рейтинг статьи

Оценка
5/5
голосов: 1
Ваша оценка статье по пятибальной шкале:
 
 
   

Поделиться

Похожие новости

Комментарии

^ Наверх