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

Получение дескриптора ODBC соединения

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

Получение дескриптора ODBC соединения

Автор: Chris Fioravanti

Я как-то обращал ваше внимание на трудность получения дескриптора ODBC соединения посредством DBE. После тесного общения со службой поддержки Borland, я наконец нашел решение как это сделать. Вот этот код:


unit Getprop;

interface

uses
  SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  Forms, Dialogs, Grids, DBGrids, StdCtrls, DB, DBTables,
  DBIProcs, DBITypes, DBIErrs;

type
  TForm1 = class(TForm)
    Table1: TTable;
    DataSource1: TDataSource;
    Button1: TButton;
    Button2: TButton;
    DBGrid1: TDBGrid;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
  Table1.active := True;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  hTmpDB: hDBIDb;
  iLen: word;

begin
  Check(DbiGetProp(hDBIObj(Table1.DBhandle), dbNATIVEHNDL, @hTmpDB,
    sizeof(hDBIDb), iLen));
  Edit1.text := inttostr(longint(htmpdb));
end;

end.

Код, который вы предоставили, написан на языке Delphi и используется для получения дескриптора соединения ODBC с помощью процедур DBI (Database Interface).

Вот разбивка кода:

  • В первой части объявляется модуль Getprop, который включает в себя все необходимые библиотеки.
  • Тип TForm1 объявлен, это форма с несколькими компонентами: таблицей (Table1), источником данных (DataSource1), двумя кнопками (Button1 и Button2), DB-графиком (DBGrid1) и полем ввода (Edit1). Каждый компонент имеет свой процедурный блок, связанный с событием OnClick кнопок.
  • В строке var Form1: TForm1; объявляется переменная типа Form1, которая используется для создания экземпляра формы.
  • В разделе implementation код включает файл ресурсов (*.DFM) и определяет два процедурных блока для кликов кнопок.

Первый процедурный блок (Button1Click) активирует таблицу, когда кликать первую кнопку. Это означает, что данные будут получены из базы данных и отображаться в графике. Второй процедурный блок (Button2Click) получает дескриптор соединения ODBC с помощью функции DbiGetProp. Эта функция получает значение свойства для указанного обрабатываемого объекта. В этом случае она используется для получения native ODBC-объекта базы данных соединения. Результат хранится в переменной hTmpDB и затем отображается в поле ввода как строка. Проверка (Check) перед вызовом функции DbiGetProp используется для проверки, если функция возвращает ошибку. Если нет ошибок, код продолжит выполняться; иначе будет выброшено исключение.

Вот, как можно использовать этот код:

  1. Создайте новый проект Delphi.
  2. Добавьте необходимые компоненты: таблицу, источник данных, кнопки, DB-график и поле ввода.
  3. Напишите код, предоставленный вами.
  4. Запустите программу.
  5. Когда кликать первую кнопку, она активирует таблицу и получает данные из базы данных.
  6. Когда кликать вторую кнопку, она отображает дескриптор соединения ODBC в поле ввода.

Обратите внимание, что вам нужно иметь действительное соединение с базой данных, установленное перед запуском этого кода.

Получение дескриптора ODBC соединения в программе на Delphi достигается с помощью функции DbiGetProp, которая возвращает дескриптор соединения в переменную hTmpDB.


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

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




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


:: Главная :: ODBC ::


реклама


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

Время компиляции файла: 2024-11-30 11:42:55
2024-12-11 00:52:23/0.0047540664672852/1