• Как продвинуть сайт на первые места?
    Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.
    Ускорение продвижения
    Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.
  • Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;


Иллюстрированный самоучитель по Delphi 7 для профессионалов

Интерфейсы ISQLCommand и ISQLCursor

Интерфейс ISQLCommand обеспечивает функционирование запроса dbExpress. Компоненты dbExpress, работающие с наборами данных, используют его для реализации своих методов.

Параметры запроса устанавливаются методом:

function setParameter(ulParameter: Word; ulChildPos: Word; eParamType: TSTMTParamType;
uLogType: Word; uSubType: Word; iPrecision: Integer; iScale: Integer;
 Length: LongWord; pBuffer: Pointer; llnd: Integer): SQLResult; stdcall;

Где ulParameter – порядковый номер параметра; если параметр является дочерним для сложных типов данных, ulchildPos задает его порядковый номер; eParamType задает тип параметра (входной, выходной, смешанный); uLogType – тип данных параметра; uSubType – вспомогательный параметр типа данных; iscale – максимальный размер значения в байтах; iPrecision – максимальная точность типа данных; Length – размер буфера; pBuffer – буфер, содержащий значение параметра; lInd – флаг, определяющий, может ли параметр иметь нулевое значение.

Для каждого параметра метод вызывается снова. Информацию о параметре можно получить, используя метод:

function getParameter(ParameterNumber: Word; ulChildPos: Word; Value:
Pointer; Length: Integer; var IsBlank: Integer): SQLResult; stdcall;

Где ParameterNumber – порядковый номер параметра; если параметр является дочерним для сложных типов данных, ulchildPos задает его порядковый номер; value – указатель на буфер значения параметра; Length – размер буфера; isBlank – признак незаполненного параметра.

Метод:

function prepare(SQL: PChar; ParamCount: Word): SQLResult; stdcall;

…готовит запрос к выполнению с учетом значений параметров. Выполнение запроса осуществляется методом:

function execute(var Cursor: ISQLCursor): SQLResult; stdcall;

…который возвращает в параметре интерфейс курсора, если запрос выполнен. Или метод:

function executelmmediate(SQL: PChar; var Cursor: ISQLCursor): SQLResult; stdcall;

…который выполняет запрос, не требующий подготовки (не имеющий параметров). Он также возвращает в параметре cursor готовый интерфейс курсора, если запрос выполнен успешно. Текст запроса определяется параметром SQL.

И метод:

function getNextCursor(var Cursor: ISQLCursor): SQLResult; stdcall;

…определяет в параметре Cursor курсор следующего набора данных, если выполнялась хранимая процедура, которая возвращает несколько наборов данных.

Интерфейс ISQLCommand используется компонентом TCustomSQLDataSet и недоступен потомкам.

Интерфейс ISQLCursor

Интерфейс ISQLCursor обладает совокупностью методов, которые помогут получить информацию о полях курсора, а также значения этих полей. Все эти методы имеют одинаковое представление. Для получения нужной информации необходимо задать порядковый номер поля в структуре курсора.

Метод:

function next: SQLResult; stdcall;

…обновляет курсор, занося в него информацию из следующей строки набора данных.

Интерфейс ISQLCursor используется компонентом TCustomSQLDataSet и недоступен потомкам.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.