Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Создание DBExpress-Connection в Run-Time

Delphi , Базы данных , Interbase

Создание DBExpress-Connection в Run-Time


procedure TVCLScanner.PostUser(const Email, FirstName, LastName: WideString); 
var 
  Connection: TSQLConnection; 
  DataSet: TSQLDataSet; 
begin 
  Connection := TSQLConnection.Create(nil); 
  with Connection do 
  begin 
    ConnectionName := 'VCLScanner'; 
    DriverName := 'INTERBASE'; 
    LibraryName := 'dbexpint.dll'; 
    VendorLib := 'GDS32.DLL'; 
    GetDriverFunc := 'getSQLDriverINTERBASE'; 
    Params.Add('User_Name=SYSDBA'); 
    Params.Add('Password=masterkey'); 
    Params.Add('Database=milo2:D:\frank\webservices\umlbank.gdb'); 
    LoginPrompt := False; 
    Open; 
  end; 
  DataSet := TSQLDataSet.Create(nil); 
  with DataSet do 
  begin 
    SQLConnection := Connection; 
    CommandText := Format('INSERT INTO kings VALUES("%s","%s","%s")', 
      [Email, FirstN, LastN]); 
    try 
      ExecSQL; 
    except 
    end; 
  end; 
  Connection.Close; 
  DataSet.Free; 
  Connection.Free; 
end;

Программный процесс PostUser в Delphi создает соединение DBExpress с базой данных InterBase и выполняет запрос INSERT на таблицу kings.

Вот шаг за шагом, что код делает:

  1. Создает новый экземпляр класса TSQLConnection, представляющего соединение с базой данных.
  2. Блок with Connection устанавливает различные свойства соединения:
    • ConnectionName: Устанавливает имя соединения в 'VCLScanner'.
    • DriverName: Определяет имя драйвера как 'INTERBASE'.
    • LibraryName: Устанавливает имя библиотеки в 'dbexpint.dll'.
    • VendorLib: Устанавливает имя поставщика библиотеки в 'GDS32.DLL'.
    • GetDriverFunc: Устанавливает функцию, которая получает драйвер SQL, в 'getSQLDriverINTERBASE'.
    • Params: Добавляет три параметра: User_Name=SYSDBA, Password=masterkey и Database=milo2:D:\frank\webservices\umlbank.gdb. Эти параметры используются для подключения к базе данных.
    • LoginPrompt: Устанавливает это свойство в False для отключения запросов входа.
    • Open: Открывает соединение с базой данных.
  3. Создает новый экземпляр класса TSQLDataSet, представляющего dataset, который получает данные из базы данных.
  4. Блок with DataSet устанавливает различные свойства dataset:
    • SQLConnection: Устанавливает SQL-соединение в объект Connection, созданный ранее.
    • CommandText: Устанавливает текст команды в запрос INSERT, который вставляет значения в таблицу kings. Запрос использует параметризованные placeholders (%s) для электронной почты, имени и фамилии.
  5. Блок try-except пытается выполнить SQL-запрос с помощью метода ExecSQL. Если возникает ошибка при выполнении запроса, она будет поймана блоком except.
  6. Наконец, процедура закрывает соединение и освобождает объекты dataset и connection.

Обратите внимание, что это код специфичен для баз данных InterBase и использует драйвер DBExpress. Библиотека dbexpint.dll необходима для работы этого кода. Кроме того, функция getSQLDriverINTERBASE не является стандартной функцией Delphi; она, вероятно, является спецификой драйвера InterBase.

В качестве альтернативы можно рассмотреть использование других драйверов или библиотек, которые поддерживают Delphi и предлагают более современные и эффективные способы взаимодействия с базами данных. Например, можно использовать библиотеку FireDAC, которая обеспечивает высокую производительность, многопоточность и高度 настраиваемый доступ к базам данных.

В статье описывается создание DBExpress-connection в рантайм при помощи Delphi, используя компоненты TSQLConnection и TSQLDataSet для взаимодействия с базой данных InterBase.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




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


:: Главная :: Interbase ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 11:50:46/0.0055129528045654/1