加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

数据库 – Delphi ODBC连接对话框组件?

发布时间:2020-12-12 16:27:30 所属栏目:MsSql教程 来源:网络整理
导读:我正在考虑将ODBC数据库连接添加到应用程序. 用户将在运行时配置并选择其数据库odbc连接. 是否有任何组件可以提供所需的一系列对话框? 允许用户选择数据源类型,选择驱动程序,已浏览 定义ODBC连接等 干杯 山姆 解决方法 如果您使用的是ADO组件,可以试试这个.
我正在考虑将ODBC数据库连接添加到应用程序.

用户将在运行时配置并选择其数据库odbc连接.

是否有任何组件可以提供所需的一系列对话框?

允许用户选择数据源类型,选择驱动程序,已浏览
定义ODBC连接等

干杯
山姆

解决方法

如果您使用的是ADO组件,可以试试这个.

选项1

Uses
    OleDB,ComObj,ActiveX;

    function Edit_ADO_ODBC_ConnectionString(ParentHandle: THandle; InitialString: WideString;out NewString: string): Boolean;
    var
      DataInit  : IDataInitialize;
      DBPrompt  : IDBPromptInitialize;
      DataSource: IUnknown;
      InitStr   : PWideChar;
    begin
      Result   := False;
      DataInit := CreateComObject(CLSID_DataLinks) as IDataInitialize;
      if InitialString <> '' then
      DataInit.GetDataSource(nil,CLSCTX_INPROC_SERVER,PWideChar(InitialString),IUnknown,DataSource);
      DBPrompt := CreateComObject(CLSID_DataLinks) as IDBPromptInitialize;

      {
      DBPROMPTOPTIONS_WIZARDSHEET = $1;
      DBPROMPTOPTIONS_PROPERTYSHEET = $2;
      DBPROMPTOPTIONS_BROWSEONLY = $8;
      DBPROMPTOPTIONS_DISABLE_PROVIDER_SELECTION = $10;
      }
      if Succeeded(DBPrompt.PromptDataSource(nil,ParentHandle,DBPROMPTOPTIONS_PROPERTYSHEET,nil,DataSource)) then
      begin
        InitStr   := nil;
        DataInit.GetInitializationString(DataSource,True,InitStr);
        NewString := InitStr;
        Result    := True;
      end;
    end;



Result:=Edit_ADO_ODBC_ConnectionString(0,OldConnectionString,NewString);

选项2

Uses
ADODB;

PromptDataSource(Self.Handle,InitialString);

选项3

Uses
ADODB,AdoConEd;

procedure TMainForm.Button2Click(Sender: TObject);
Var
ADOConnection1 : TADOConnection;
begin
   ADOConnection1:=TADOConnection.Create(Self);
   EditConnectionString(ADOConnection1);
end;

您必须选择“用于ODBC驱动程序的Microsoft OLE DB提供程序”

再见.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读