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;
end ;
|
|
|
默认的unidac配置参数界面