65.9K
CodeProject 正在变化。 阅读更多。
Home

MSSQL/MSDE 服务器文件夹浏览器

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.57/5 (5投票s)

2007年2月11日

CPOL

2分钟阅读

viewsIcon

34510

downloadIcon

447

从远程计算机浏览安装了 MS SQL Server 的计算机上的文件夹。

引言

我一直在寻找获取安装了 Microsoft SQL Server 和/或 MSDE 的计算机的文件夹和驱动器列表的方法,或者寻求帮助,从连接到服务器的远程计算机上的基于 Windows 的应用程序获取这些列表。我最终找到了完成此任务的解决方案。 大部分代码都是不言自明的,并有文档记录,因此我将省略详细的解释。

首先,我们需要连接到服务器的 Master 数据库,因为我们将使用一些仅存在于 Master 数据库中的存储过程。

让我们稍微剖析一下 'SQLServerFolderBrowse 类'。 这些是一些未记录的过程,名称是不言自明的

  • xp_fixeddrives
  • xp_availablemedia
  • xp_subdirs

我创建了一些属性来设置连接属性,以便维护类结构。 这些属性在函数 fxnConnection 中设置; 但是,我建议您在从调用窗体调用对话框时应用这些属性。

此类中有四个函数执行获取驱动器、文件夹和子文件夹的全部工作,即

  • GetFixedDrives - 获取 MS SQL 计算机上安装的驱动器盘符。
  • GetAvailableDrives - 获取可以执行写入操作的所有驱动器。
  • GetSubFolders - 此函数需要一个参数,即父文件夹,顾名思义,用于获取父文件夹中的文件夹。
  • InitializeConnection - 检查连接字符串是否为空,否则设置连接字符串。

我们已经完成了获取所需解决方案的算法。 现在,我们需要程序和用户之间的界面。 我创建了一个模仿 Windows 文件夹浏览器的对话框。 请查看代码以获取完整的文档。 简而言之,代码隐藏分为多个区域,以提高可读性。 在函数区域中,您在函数 fxnConnect 中设置连接到服务器主数据库的参数。 但是,我建议您使用对话框浏览器对象来设置这些属性。 在函数区域中,树视图填充了驱动器、文件夹和子文件夹的列表。 包含子文件夹的文件夹被分配一个子文件夹 'Dummy',以提高控件的性能。 一旦用户展开一个文件夹,子文件夹就会填充在父文件夹下。 现在,您的界面已创建,您可以开始使用该对话框。 请参阅“frmTest”了解如何使用该控件。

使用计时器检查对话框是否已关闭,以填充调用窗口上的相应控件。 浏览器对话框可以作为模态打开,但对于 MSI 项目,您可能需要使用上述过程并提供一个参数,指示使用初始化对话框窗体的调用窗体 (Me)。 请浏览代码,如果您发现任何困难,请随时与我联系。

© . All rights reserved.