32 Урока Borland Delphi

         

Не трудно заметить, что это


Не трудно заметить, что это тот случай, когда удобно использовать параметризованный запрос. Например, неплохо было бы менять имя страны, которую требуется удалить:
delete from Country where Name = :CountryName
В этом случае переменная :CountryName может быть изменена во время выполнения:
Query2.Prepare;
Query2.Params[0] := ‘Argentina’;
Query2.ExecSQL;
Код сначала вызывает Prepare, чтобы сообщить Delphi что он должен разобрать SQL запрос и подготовить свойство Params. Следующим шагом присваивается значение свойству Params и затем выполняется подготовленный SQL запрос. Обратите внимание, что он выполняется через ExecSQL, а не Open.
Программа INSQUERY из примеров Delphi демонстрирует эту технику (проект C:\DELPHI\DEMOS\DB\INSQUERY.DPR)
  • Специальные свойства TQuery
  • Есть несколько свойств, принадлежащих TQuery, которые еще не упоминались:
    property UniDirectional: Boolean;
    property Handle: HDBICur;
    property StmtHandle: HDBIStmt;
    property DBHandle: HDBIDB;
    Свойство UniDirectional используется для того, чтобы оптимизировать доступ к таблице. Если Вы установите UniDirectional в True, то Вы можете перемещаться по таблице более быстро, но Вы сможете двигаться только вперед.
    Свойство StmtHandle связано со свойством Handle TDataSet. То есть, оно включено исключительно для того, что Вы могли делать вызовы Borland Database Engine напрямую. При нормальных обстоятельствах, нет никакой необходимости использовать это свойство, так как компоненты Delphi могут удовлетворить потребностями большинства программистов. Однако, если Вы знакомы с Borland Database Engine, и если Вы знаете что существуют некоторые возможности не поддерживаемые в VCL, то Вы можете использовать TQuery.StmtHandle, или TQuery. Handle, чтобы сделать вызов напрямую в engine.
    Следующий фрагмент кода показывает два запроса к BDE:
    var
    Name: array[0..100] of Char;
    Records: Integer;
    begin
    dbiGetNetUserName(Name);
    dbiGetRecordCount(Query1.Handle, Records);
    end;

    Содержание  Назад  Вперед







    Forekc.ru
    Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий