类似于.udl文件,delphi 如何列出某一个服务器 上的所有数据库?
解决方案 »
- 高分求2000 VPN拨号,关闭代码!
- 自认为FastReport3.0简单问题请教!!(50分)(怎样控制FastReport一页只显示10条记录?)
- 请问用那几个组合键可以使连续的多行代码前移或后移?
- HtmlLink 组件制作问题
- 怎么让屏保不出现 如看电影时
- 有关dbExpress的数据库更新操作问题
- StrToFloat()把60.2插入到access97数据库,怎么成60.20000007629395????
- delphi7的timage 控件 如何 添加 mouseenter和mouseleava
- 在DELPHI中*.wav 文件怎么加到资源文件中。
- 求救高手 怎样截获程序调用浏览器打开的网址?
- delphi能否像生成过程那样直接生成自定义函数代码?
- Image 停靠在Panel上,Panel在移动时,上面的Image闪烁,有什么办法?
function getAllDataBases(serverName,LoginName,LoginPassword:String):TStringList;
var
oSqlServer :_SqlServer;
rtn :TStringList;
odataBase :_DataBase;
count,i :Integer;
begin
try
osqlServer :=coSqlServer.Create;
osqlServer._AddRef;
osqlServer.Connect(ServerName,LoginName,LoginPassword);
count :=osqlServer.Databases.Count;
rtn :=TStringList.Create;
for i :=1 to count do
begin
odataBase :=osqlserver.Databases.Item(i,‘owner‘);
rtn.Append(odataBase.Name);
end;
result :=rtn;
osqlServer.DisConnect;
oSqlServer._Release;
osqlServer :=nil;
except
on E :Exception do
begin
application.MessageBox(Pchar(‘取SQLSERVER資料庫列表出錯了‘+E.message),‘系統提示‘,MB_OK+MB_ICONSTOP);
end;
end;
end;
或者直接连接到实例上,通过扫描系统表来实现,系统表好像叫Master.dbo.sysdatabases