我用sqldmo来取服务器文件信息,只取到磁盘、当磁盘根目录下的文件夹,代码如下,如要取服务器中所有目录、及文件,如何获取
private void frmdatabackup_Load(object sender, System.EventArgs e)
{
SQLDMO.SQLServer svr=new SQLDMO.SQLServerClass();
svr.Connect(svname.ToString(),uname.ToString(),pass.ToString());
SQLDMO.QueryResults qr=svr.EnumAvailableMedia(SQLDMO.SQLDMO_MEDIA_TYPE.SQLDMOMedia_FixedDisk);
for(int i=1;i<qr.Rows;i++)
{
TreeNode pnode=new TreeNode();
pnode.Text=qr.GetColumnString(i,1).ToString();
pnode.Tag=qr.GetColumnString(i,1).ToString(); SQLDMO.QueryResults qRs = svr.EnumDirectories( pnode.Text.ToString());
for ( int j = 1; j < qRs.Rows; j++ )
{
TreeNode cnode=new TreeNode();
cnode.Text= qRs.GetColumnString(j,1);
cnode.Tag=pnode.Tag.ToString()+qRs.GetColumnString(j,1).ToString();
pnode.Nodes.Add(cnode);
}
this.treeView1.Nodes.Add(pnode);
}
}
private void frmdatabackup_Load(object sender, System.EventArgs e)
{
SQLDMO.SQLServer svr=new SQLDMO.SQLServerClass();
svr.Connect(svname.ToString(),uname.ToString(),pass.ToString());
SQLDMO.QueryResults qr=svr.EnumAvailableMedia(SQLDMO.SQLDMO_MEDIA_TYPE.SQLDMOMedia_FixedDisk);
for(int i=1;i<qr.Rows;i++)
{
TreeNode pnode=new TreeNode();
pnode.Text=qr.GetColumnString(i,1).ToString();
pnode.Tag=qr.GetColumnString(i,1).ToString(); SQLDMO.QueryResults qRs = svr.EnumDirectories( pnode.Text.ToString());
for ( int j = 1; j < qRs.Rows; j++ )
{
TreeNode cnode=new TreeNode();
cnode.Text= qRs.GetColumnString(j,1);
cnode.Tag=pnode.Tag.ToString()+qRs.GetColumnString(j,1).ToString();
pnode.Nodes.Add(cnode);
}
this.treeView1.Nodes.Add(pnode);
}
}
解决方案 »
- 诡异的datagridview红叉的问题
- sql2005,数据问题
- 请教如果通过数据库向access数据库插入数据
- gridview 批量删除,为什么删除不了!!!
- =====菜鸟问题,请高手解答,WinForm文件操作问题=======
- 怎么判断一个textbox的输入是float型的?
- 在安装ArcView IMS后,C#的所有项目不能进行调试,错误提示:无法启动调试,不支持此接口。
- 在webservice中如何得到访问者的ip地址?
- 高分请教数据解密问题
- 怎样实现listview中双击某行时先选中这行,然后响应双击事件!
- +++++++++SQLDMO备份数据库的问题???
- MDI子窗口如何激活父窗口中的控件?
{ string StrHardDiskID=null;
try
{ System.Management.ManagementObjectSearcher
mos=new ManagementObjectSearcher("select * from Win32_PhysicalMedia"); foreach(ManagementObject mo in mos.Get())
{
StrHardDiskID=mo["SerialNumber"].ToString().Trim();
break; }
}
catch(Exception ex)
{ MessageBox.Show(ex.ToString());
}
return StrHardDiskID;