小编Mik*_*ike的帖子

如何使用SqlCommand将多个T-SQL语句(由GO分隔)链接到单个SQL调用中

我有一个C#桌面应用程序,它调用各种SQL Server存储过程来执行各种导出和导入数据到SQL Server 2008 R2数据库的工作.

这些都很好,没问题.我的应用程序通过所有参数调用它们就好了.

为了"帮助用户",我正在编写一个按钮,将所有存储过程添加到配置的数据库中.为此,我创建了一个脚本:

USE [%DATABASENAME%]
GO        

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[spMyProc1]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[spMyProc1]
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[spMyProc2]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[spMyProc2]
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[spMyProc3]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[spMyProc3]
GO

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE [dbo].[spMyProc1]
        @VariousParams varchar(100), …
Run Code Online (Sandbox Code Playgroud)

.net c# sql sqlcommand

8
推荐指数
1
解决办法
9098
查看次数

Windows 8中是否提供Win32_Processor和Win32_NetworkAdapterConfiguration WMI方法?

我正在测试Windows 8消费者预览中的现有应用程序,它在启动时崩溃.日志文件表明它是在我对CPU ID和网卡详细信息进行一些验证的方法中.

要做到这一点,我打电话

        ManagementClass mc = new ManagementClass("Win32_Processor");
        ManagementObjectCollection moc = mc.GetInstances();
        foreach (ManagementObject mo in moc)
        {
            if (cpuInfo.Length == 0)
            {
                // only return cpuInfo from first CPU
                cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
            }
        }
Run Code Online (Sandbox Code Playgroud)

(请注意,此应用程序在Windows 7及更早版本上运行正常).

然后,我使用相同的语法挂钩到Win32_NetworkAdapterConfiguration并获取IPEnabled,IPAddress []和MACAddress属性.

但在这里的某个地方它崩溃了.

我已经尝试过对此进行研究,并发现以下Windows 8服务器列表中的WMI类和方法以及我正在使用的那些不在其中.但是,同一站点也有一个Windows 7 WMI类和方法列表,这些也不在其中!(即使它在Windows 7上运行没问题).

所以从外观上看,它不受支持.

ManagementClass的MSDN表明该方法仍然存在于.NET 4.5中.此外,此Microsoft资源使用我需要的方法明确列出Win32_Processor和Win32_NetworkAdapterConfiguration.

所以,从链接中,你可以看到我试图研究这个,所以这是我试图解开这个谜团的最后一站.

我的应用程序最初是在Visual Studio 2005中创建的.NET 2.0解决方案.我已将Visual Studio 2011 Beta安装到我的Windows 8 Consumer Preview VM中,以及最新的SQL 2012 Express.我已经尝试将我的项目导入到这个Visual Studio中,但它没有加载它,告诉我它只支持Metro开发.因此我无法在机器本身上调试此问题.

所以我的问题是Windows 8中是否存在这些类?如果他们这样做,那么我做错了什么?如果他们不这样做,那么我需要找到一种方法来获取这些信息 - 但我想这是一个单独的问题;-)

c# wmi winapi windows-8 visual-studio-2012

7
推荐指数
2
解决办法
2406
查看次数

标签 统计

c# ×2

.net ×1

sql ×1

sqlcommand ×1

visual-studio-2012 ×1

winapi ×1

windows-8 ×1

wmi ×1