Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...
Топ:
Определение места расположения распределительного центра: Фирма реализует продукцию на рынках сбыта и имеет постоянных поставщиков в разных регионах. Увеличение объема продаж...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
История развития методов оптимизации: теорема Куна-Таккера, метод Лагранжа, роль выпуклости в оптимизации...
Интересное:
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Распространение рака на другие отдаленные от желудка органы: Характерных симптомов рака желудка не существует. Выраженные симптомы появляются, когда опухоль...
Дисциплины:
2023-01-02 | 119 |
5.00
из
|
Заказать работу |
Цель работы: изучить функции ODBC для выполнения SQL-операторов, приобрести навыки использования данных функций при разработке клиентских приложений баз данных.
Порядок выполнения работы и варианты заданий
1. Изучить программный интерфейс функций SQLAllocStmt, SQLFreeStmt, SQLExecDirect, SQLPrepare, SQLExecute, SQLBindParameter.
2. Написать на языке программирования высокого уровня C/C++ программу для создания и заполнения данными таблицы в соответствии с заданием лабораторной работы N 2. Пользовательский интерфейс программы должен включать формы с полями ввода для занесения информации в таблицу. При нечетном номере варианта задания использовать прямое выполнение SQL-оператора, а при четном – подготавливаемое.
3. Запустить ODBC-администратор и с его помощью выбрать ODBC-драйвер для используемого в программе источника данных.
4. Выполнить программу, разработанную в п.2.
5. Оформить отчет о проделанной работе.
Основные сведения
Функция SQLAllocStmt
Данная функция распределяет память для идентификатора оператора в рамках определенного соединения. Функция SQLAllocStmt имеет следующий синтаксис:
RETCODE SQLAllocStmt(hdbc, phstmt)
Описание параметров для данной функции приведено в следующей таблице.
Аргумент | Тип | Использование | Описание |
hdbc | HDBC | Вход | Идентификатор соединения |
phstmt | HSTMT FAR | Выход | Идентификатор оператора (адрес) |
Функция SQLFreeStmt
Данная функция выполняет следующие действия:
* останавливает обрабатываемые SQL-операторы, связанные с заданным идентификатором оператора;
* закрывает открытые курсоры, имеющие отношение к заданному идентификатору оператора;
* отбрасывает ожидаемые результаты;
* освобождает все ресурсы, связанные с заданным идентификатором оператора.
Функция SQLFreeStmt имеет следующий синтаксис:
RETCODE SQLFreeStmt(hstmt, fOption)
Описание параметров для данной функции приведено в следующей таблице.
Аргумент | Тип | Использование | Описание |
hstmt | HSTMT | Вход | Идентификатор оператора |
fOption | UWORD | Вход | Опция завершения |
Опция SQL_CLOSE закрывает курсор и отбрасывает все ожидаемые результаты. Опция SQL_DROP освобождает идентификатор оператора и все связанные с ним ресурсы, а также выполняет действия предыдущей опции. Опция SQL_UNBIND освобождает (“отвязывает”) все столбцы, используемые соответствующей функцией SQLBindCol. Опция SQL_RESET_PARAMS освобождает все параметры, используемые соответствующей функцией SQLBindParameter. Перечисленные опции используются применительно к заданному идентификатору оператора.
Функция SQLExecDirect
Данная функция выполняет SQL-оператор. Если в операторе существуют какие-либо параметры, то при выполнении используются их текущие значения. Функция SQLExecDirect имеет следующий синтаксис:
RETCODE SQLExecDirect(hstmt, szSqlStr, cbSqlStr)
Описание параметров для данной функции приведено в таблице.
Аргумент | Тип | Использование | Описание |
hstmt | HSTMT | Ввод | Идентификатор оператора |
szSqlStr | UCHAR FAR* | Ввод | Строка, содержащая SQL-оператор (адрес) |
cbSqlStr | SDWORD | Ввод | Длина строки szSqlStr |
Функция SQLExecDirect представляет самый быстрый способ запустить SQL-оператор при одноразовом выполнении.
Функция SQLPrepare
Данная функция подготавливает SQL-строку для выполнения. Функция SQLPrepare имеет следующий синтаксис:
RETCODE SQLPrepare(hstmt, szSqlStr, cbSqlStr)
Данная функция имеет такие же параметры, что и функция SQLExecDirect.
Функция SQLExecute
Данная функция выполняет подготовленный SQL-оператор. Если в операторе существуют какие-либо параметры, то при выполнении используются их текущие значения. Функция SQLExecute имеет следующий синтаксис:
RETCODE SQLExecute(hstmt),
где hstmt – идентификатор оператора (входной параметр типа HSTMT).
Перед вызовом функции SQLExecute должна быть выполнена функция SQLPrepare.
Функция SQLBindParameter
Данная функция связывает параметр SQL-оператора с буфером, где хранится его значение. Функция SQLBindParameter имеет следующий синтаксис:
RETCODE SQLBindParameter(hstmt, ipar, fParamType, fCType, fSqlType, cbColDef, ibScale, rgbValue, cbValueMax, pcbValue)
Описание параметров для данной функции приведено в следующей таблице.
Аргумент | Тип | Использование | Описание |
hstmt | HSTMT | Ввод | Идентификатор оператора |
ipar | UWORD | Ввод | Номер параметра |
fParamType | SWORD | Ввод | Тип параметра |
fCType | SWORD | Ввод | С-тип данных параметра |
fSqlType | SWORD | Ввод | SQL-тип данных параметра |
cbColDef | UDWORD | Ввод | Точность столбца источника данных |
ibScale | SWORD | Ввод | Размер столбца источника данных |
rgbValue | PTR | Ввод/вывод | Буфер значения параметра (адрес) |
CbValueMax | SDWORD | Ввод | Максимальная длина буфера rgbValue |
PcbValue | SDWORD FAR* | Ввод/вывод | Буфер значения длины параметра (адрес) |
Параметры в SQL-операторах отмечаются маркером?. Пример: INSERT INTO Emp(empid, firstname) VALUES (?,?).
Нумерация параметров начинается с 1. Тип параметра fParamType может принимать одно из трех значений: SQL_PARAM_INPUT, SQL_PARAM_INPUT_OUTPUT или SQL_PARAM_OUTPUT. Значение SQL_PARAM_INPUT используется для всех параметров, которые не включены в процедуру, а также для процедур, использующих параметры ввода. Значение SQL_PARAM_INPUT_OUTPUT маркирует параметр ввода/вывода в процедуре. Значение SQL_PARAM_OUTPUT маркирует значение возврата или параметр вывода в процедуре.
С-тип данных - это тип данных, из которого конвертируются данные. C-тип данных параметра может быть одним из следующих значений: SQL_C_BINARY, SQL_C_BIT, SQL_C_CHAR, SQL_C_DATE, SQL_C_DEFAULT, SQL_C_DOUBLE, SQL_C_FLOAT, SQL_C_SLONG, SQL_C_SSHORT, SQL_STINYINT, SQL_C_TIME, SQL_C_TIMESTAMP, SQL_C_ULONG, SQL_C_USHORT, SQL_C_UTINYINT, SQL_C_DEFAULT.
SQL-тип данных - это тип данных, в который конвертируются данные. Он должен совпадать с SQL-типом соответствующего столбца. SQL-тип данных может быть одним из следующих значений: SQL_BIGINT, SQL_BINARY, SQL_BIT, SQL_CHAR, SQL_DATE, SQL_DECIMAL, SQL_DOUBLE, SQL_FLOAT, SQL_INTEGER, SQL_LONGVARBINARY, SQL_LONGVARCHAR, SQL_NUMERIC, SQL_REAL, SQL_SMALLINT, SQL_TIME, SQL_TIMESTAMP, SQL_TINYINT, SQL_VARBINARY, SQL_VARCHAR.
Пример вызова функции SQLBindParameter:
rc=SQLBindParameter(hstmt, 1, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_CHAR, TEST_LEN, 0, szTEST, 0, &cbTEST);
Методические указания
Данная лабораторная работа основывается на результатах предыдущей лабораторной работы. При выполнении данной лабораторной работы используются шаги 1-5, 1-10 алгоритма использования ODBC, представленного в предыдущей работе, в приведенном порядке.
Лабораторная работа N 5
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!