获取 TUniConnection.SpecificOptions默认值和下拉框列表值

TUniConnection的SpecificOptions参数决定了数据库连接配置参数,但可惜的是,SpecificOptions设计器界面,Devart公司只能让它在设计期配置!

SpecificOptions参数为什么那么有用呢?举个例子讲,如果你要连接MSSQL,可能碰到老版本的OLEDB或者当下的NativeClient版本,具体参数可选为:prAuto、prSQL、prNativeClient、prCompact。

因此,我们如果自己做界面参数配置,必须获取SpecificOptions默认值和下拉框表列表值。

首先在界面上放TUniConnection,设置ProviderName为SQL Server;在界面上放置TSQLServerUniProvider

代码如下

 

type

  TMyConn = class(TUniConnection)

  end;

 

procedure TForm7.btn1Click(Sender: TObject);

var

  OptionsList: TOptionsList;

  i: Integer;

  Msg: string;

  List: TStringList;

begin

  mmo1.Clear;

  List := TStringList.Create;

  if TMyConn(UniConnection1).CanGetProvider then

  begin

    OptionsList :=   TMyConn(UniConnection1).GetProvider.GetConnectionOptions;

    for i := 0 to OptionsList.Count - 1 do

    begin

      List.Clear;

      OptionsList[i].GetValuesList(List);

      Msg := Msg + OptionsList[i].OptionName +

        ' - ' +

        VarToStr(OptionsList[i].GetDefaultValue) + ' = ' +

        OptionsList[i].GetAsString(OptionsList[i].GetDefaultValue) +

        ':' + sLineBreak + List.Text + sLineBreak;

    end;

 

    mmo1.Lines.Add(Msg);

  end;

  List.Free; 

默认的unidac配置参数界面

原文地址:https://www.cnblogs.com/china1/p/3415470.html