小编Mar*_*acz的帖子

如何在一个查询中计算2个不同的数据

我需要在一个查询中计算两列中某些数据的出现总和.DB位于SQL Server 2005中.

例如,我有这个表:

Person: Id, Name, Age
Run Code Online (Sandbox Code Playgroud)

我需要在一个查询中得出这些结果:
1.名字为'John'的人数
2.计算'John',年龄超过30岁.

我可以通过这种方式使用子查询来做到这一点(仅作为示例):

SELECT (SELECT COUNT(Id) FROM Persons WHERE Name = 'John'), 
  (SELECT COUNT (Id) FROM Persons WHERE Name = 'John' AND age > 30) 
FROM Persons
Run Code Online (Sandbox Code Playgroud)

但这很慢,我正在寻找更快的方法.

我找到了MySQL的这个解决方案(它几乎解决了我的问题,但它不适用于SQL Server).

您是否知道在一个查询中计算少量计数比使用子查询更好的方法?

sql t-sql sql-server sql-server-2005 aggregate-functions

6
推荐指数
2
解决办法
1万
查看次数

我应该在小表中添加索引吗?

有没有理由在表中添加少量(少于10个)元素的索引?它经常在连接中使用,但我不确定这样小的表上的索引是否会增加其性能或降低.

编辑:表中的行非常小:7列,总大小小于500字节,所以我认为它可以存储在服务器内存中(这是Paul Sanwald的回答)

indexing sql-server-2005

5
推荐指数
1
解决办法
1007
查看次数

C#中是否有任何改变人声音色的库

我正在寻找改变人声音色的图书馆.我想做一些小改动:将深男声改变得更高一些(比如改变低音到男高音).
我认为在更广泛的范围内改变声音 - 将男性声音改变为女性声音太复杂,没有好的工具可以做到这一点,我是对的吗?

c# voice

5
推荐指数
1
解决办法
1879
查看次数

是否可以在webservice中使用Cache?

在我的webapplication中,我有一些存储在Page.Cache中的预先计算的值.在他的时刻,我必须将此功能移动到webservice.

所以我需要在webservice中引入类似的功能 - 在第一次调用web方法时计算值并将其存储在Cache中.
是否可以在Web服务中将一些值放入Cache(不在应用程序或会话中 - 我需要在一段时间间隔后清除这些值)?

asp.net caching web-services

5
推荐指数
2
解决办法
1万
查看次数

如何获得使用过的dll的版本

我正在研究使用公共库的一组webpart.
要测试部署,我需要在生成的html中添加版本信息.向页面添加版本"水印"的方法在公共库中.

所以我有这样的东西(它更复杂,因为在公共库中是webparts的基类,但对于这个问题,我们可以简化它):

在mainAssembly.dll的控制下,我正在调用OnInit方法:

protected override void OnInit(EventArgs e)  
{  
..  
    Library.AddWatermark(this);  
..  
}
Run Code Online (Sandbox Code Playgroud)

在共同的图书馆我有:

public void AddWatermark(Control ctrl)  
{    
    string assemblyVersion = GetAssemblyVersion();  
    ctrl.Controls.Add(new HiddenField { Value = string.Format("Version: {0}",   assemblyVersion ) });  
}  
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:当我们在这个组件的方法中时如何获得组装版本?(在AddWatermark中)?如果有可能获得调用者程序集的版本?(mainAssembly)

.net c# dll

4
推荐指数
1
解决办法
3033
查看次数

如何将任何字符串转换为有效的CSV字段?

我需要将表保存到CSV文件.表的每个单元格都可以包含字符串,如:",;"和新行.
如何将这些字符串转换为可以在Excel中打开的有效CSV字段?

c# csv

4
推荐指数
1
解决办法
6358
查看次数

在c#中搜索支持rar格式的压缩库

我想在我的应用程序功能中添加以各种格式解压缩(并可选地压缩)文件.我有支持zip,gzip,7zip和bzip2的库.但仍然没有找到支持rar的库.
我知道rar是商业的,但也许有一些.net库可以用来解压缩rar-s?最好的是免费图书馆,但价格低廉的图书馆也是可以接受的.

c# compression rar

4
推荐指数
2
解决办法
2093
查看次数

如果用户通过声明进行身份验证,如何检入sharepoint?

我在Sharepoint 2010中创建了几个webpart.在当前版本中,用户通过Ad登录进行身份验证,但现在客户希望自定义它并允许通过AD登录或电子邮件名称进行身份验证 - 使用声明(在不同的应用程序池上).

我的问题是我必须检查用户是否通过声明进行身份验证(在我的管理员webpart中使用它).
我知道我可以在sharepoint中检查用户登录名,如果是这种形式:i:0#.f | ldapmember | user@example.com这意味着我已经启用了声明.

但也许有更好的方法来检查索赔是否已开启?有谁知道这种方法?

c# claims-based-identity sharepoint-2010

4
推荐指数
1
解决办法
4532
查看次数

从JPG读取EXIF数据

我需要分析数千个jpeg文件(通过检索它的EXIF数据).它超过50 GB的数据.我无法读取整个文件,因为它需要花费太多时间.

C#中是否有任何方法只读取这些文件中的EXIF数据而无需加载和解压缩整个jpeg文件?

编辑:为什么我需要快速方法?
我已经尝试过这个问题的解决方案:如何使用C#从文件中获取EXIF数据
而对于1000个总大小约为1GB的图像,需要3分钟进行分析.因此,对于较大的(50G)照片库,可能需要2个小时.当您需要几乎即时的信息时,例如:"客户使用的缩放比例是什么",这太慢了.

c# jpeg exif

4
推荐指数
1
解决办法
2万
查看次数

如何在Active Directory中更改用户的登录名

我想从Active Directory更改用户的.NET应用程序登录.

我现在正以这种方式改变它:

DirectoryEntry userToUpdate = updatedUser.GetDirectoryEntry();  
userToUpdate.Properties["sAMAccountName"].Value = user.NewLogin;  
userToUpdate.CommitChanges();  
Run Code Online (Sandbox Code Playgroud)

但它没有像我期望的那样起作用.当我在为此用户检入AD"Active Directory用户和计算机"条目时,然后在"帐户"选项卡上,我看到:
- "用户登录名"属性未更新
- "用户登录名(Windows 2000之前版) "财产得到了适当的更新.

如何从C#代码中正确更新AD中的登录名?我应该在DirectoryEntry中设置什么属性,或者有另一种方法来更改登录名.

.net c# active-directory .net-3.5

4
推荐指数
1
解决办法
7813
查看次数