Ultimate++: SqlExp
Содержание:
1. Сессии и объекты запросов;
2.SqlExp (Вы читаете данный раздел);
3. Схемы баз данных;
4. Виджеты для работы с базами данных.
Пока работа с SQL в U++ выглядит столь же скучной, как и в любом другом тулките, однако все резко меняется с применением объектов SqlExp. Эти объекты позволяют конструировать запросы не в виде обычных строк, а в виде выражений С++ с перегруженными операторами. Это дает возможность проверки правильности запросов на стадии компиляции, абстрагирует большинство особенностей синтаксиса различных баз данных и об-легчает создание сложных запросов.
Для начала нужно создать объекты специального типа SqlId для самой таблицы и ее столбцов (естественно, делать это нужно уже после создания таблицы).
Теперь эти объекты обеспечивают доступ к таблице и столбцам. Для вставки элементов в таблицу можно использовать выражение:
Объект запроса имеет перегруженный оператор «*», вторым операндом которого является объект типа SqlExp, возвращаемый функцией Insert. Выгоды такого подхода очевидны - больше не нужно скрупулезно высчитывать какому именно знаку «?» соответствует один из передаваемых двадцати параметров в запросе insert для сложной таблицы. Передаваемое значение всегда сгруппировано с именем нужного столбца, а передавать такие пары можно в любом удобном порядке. Выборка элементов тоже выглядит очень просто:
Вместо целочисленных индексов для доступа к столбцам можно передавать объекты SqlId, что также очень облегчает жизнь в случае большого числа столбцов.
На странице http://www.ultimatepp.org/src$Sql$SqlExp$en-us. html приведено множество примеров реальных SQL-запросов и эквивалентных им выражений SqlExp. Как правило, такой «перевод» тривиален и интуитивно понятен. Чем сложнее становятся запросы, тем больше проявляются преимущества SqlExp.
Обожаете кодить на C++ под музыку? Тогда настоятельно советую Вам скачать онлайн радио плеер (http://doplayer.ru/), в котором собраны все самые популярные радиостанции мира! Называется этот плеер DOplayer и идеально работает на компьютерах любой мощности!
1. Сессии и объекты запросов;
2.
3. Схемы баз данных;
4. Виджеты для работы с базами данных.
Пока работа с 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));
db * Insert(TEST) (A, i)(B, AsString(i * i));
Объект запроса имеет перегруженный оператор «*», вторым операндом которого является объект типа SqlExp, возвращаемый функцией Insert. Выгоды такого подхода очевидны - больше не нужно скрупулезно высчитывать какому именно знаку «?» соответствует один из передаваемых двадцати параметров в запросе insert для сложной таблицы. Передаваемое значение всегда сгруппировано с именем нужного столбца, а передавать такие пары можно в любом удобном порядке. Выборка элементов тоже выглядит очень просто:
// Вернуть все строки для чисел меньше 5 и квадратов не равных 4 db * Select(SqlAll()).From(TEST).Where(A<5 && B!=4); while(db.Fetch())
Cout() << db[A] << " '" << db[B] << "'n";
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 и идеально работает на компьютерах любой мощности!