我使用以下脚本在Windows中使用WMI获取屏幕分辨率.当计算机处于横向模式时,脚本可以正常工作,但在纵向模式下,脚本返回不正确的值.在XP中正常工作,并没有在Vista中尝试.任何人都可以确认这是Windows 7 WMI中的错误.
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery( _
"SELECT * FROM Win32_DesktopMonitor",,48)
For Each objItem in colItems
Wscript.Echo "-----------------------------------"
Wscript.Echo "Win32_DesktopMonitor instance"
Wscript.Echo "-----------------------------------"
Wscript.Echo "ScreenHeight: " & objItem.ScreenHeight
Wscript.Echo "ScreenWidth: " & objItem.ScreenWidth
Next
Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的sql server 2005 express版中恢复数据库.我知道要恢复数据库,我需要让它成为单个用户.我给这个命令让它成为单个用户
USE [master]
ALTER DATABASE database_name SET SINGLE_USER WITH ROLLBACK IMMEDIATE
Run Code Online (Sandbox Code Playgroud)
这个命令执行得很正常,我甚至可以在这个数据库的对象资源管理器中看到一个小图像,显示这个现在是单个用户.
现在我尝试通过以下步骤恢复数据库 - >右键单击数据库和任务,然后恢复数据库.我正在选择备份文件所在的路径,然后单击"还原".
但我仍然得到这个错误"因为数据库正在使用中无法获得独占访问权限(microsoft.sqlserver.smo).我错过了什么.我用Google搜索了所有网站,并且所有网站都建议数据库需要在单个用户中模式,没有别的.
我没有尝试分离和附加数据库方法.我以前从未这样做过,想知道这样做是否安全.
编辑:谢谢你的答案.两个人都建议我回答相同,所以我选择了一个答案.
我甚至选择从选项覆盖现有数据库.
所以我被要求在面试中重构这段代码
有一个Shape抽象类.Square,Rectangle这是派生类Shape.Square和Rectangle覆盖的方法area()的Shape.现在我如何重构这样的代码?
if(object is of type Square) {
//call area on square
} else if (object is of type Rectangle) {
//call area of rectangle
} else if(object of type Cube) {
// call volume of cube
}...
.
.
.
Run Code Online (Sandbox Code Playgroud)
问题基本上是如何避免多个if条件,因为可以有很多派生类并在该对象上调用适当的方法?