???如何获得ADO ConnectionString数据链接属性的种类(即OLE DB 提供者的种类)(200分)

  • 主题发起人 JUMP1972
  • 开始时间
J

JUMP1972

Unregistered / Unconfirmed
GUEST, unregistred user!
我知道如何调出“链接属性”对话框,但我想要的不是此“对话框”,
而是不通过此对话框提取本机(用户机器)上所能支持的ADO数据源提供者的种类,
然后我的程序再根据这些数据进行相应的设置。如:
假设程序提取出用户机器可支持:
Microsoft.Jet.OLEDB.3.5;
Microsoft.Jet.OLEDB.4.0;
则我的程序即可创建Access97数据库,也可创建Access2000数据库,
这样我就可以根据需要“对症下药”了。
 
呵呵,不是太难的说,你可以用ADODB单元的GetProviderNames获得
机器上的Provider清单,然后用Post判断就是了。一个小例子,D6+2K通过。
新建一个工程,在窗体上加上一个ListBox,两个Button,然后:
...
uses ADODB;
...
procedure TForm1.Button1Click(Sender: TObject);
begin
GetProviderNames(ListBox1.Items);
end;

procedure TForm1.Button2Click(Sender: TObject);
Const
SignStr = 'Jet.OLEDB'; //Provider标志
Access2000 = '4.0'; //版本号
Access97 = '3.5'; //同上
var
i:Integer;
s:String;
begin
for i := 0 to ListBox1.Items.Count - 1 do
begin
s:=UpperCase(ListBox1.Items);
if Pos(UpperCase(SignStr),s) > 0 then
begin
ShowMessage('装了Access!');
if Pos(Access2000,s) > 0 then
ShowMessage('还是Access2000呢!')
else
if Pos(Access97,s) > 0 then
ShowMessage('是Access97啊!')
else
ShowMessage('不过我不知道它的版本!');
end;
end;
end
试试吧。
 
谢谢杜宝朋友!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
顶部