小编Ant*_*nto的帖子

将字符串传递给SQL WHERE IN

我正在一个查询页面上,用户选择一个代表不同类型的值,每个类型由一个ID标识.问题是使用WHERE IN方法从数据库中选择这些ID.

这是我的SQL语句

SELECT M.REG_NO, T.TYPE_ID 
    FROM MAIN AS M 
        INNER JOIN CLASSIFICATION AS C 
            ON M.REG_NO = C.REG_NO
        INNER JOIN TYPE AS T 
            ON T.TYPE_ID = C.TYPE_ID
    WHERE T.TYPE_ID IN (@Types)
Run Code Online (Sandbox Code Playgroud)

它适用于单个值,例如.46,但不是如果值在括号中,例如.(46)或('46'),应该是IN的方式.

我正在使用visual studio,它自动生成访问表适配器的方法来获取值,所以我想我必须通过SQL来做到这一点.

我正在传递一个字符串,例如.Types ="46,267,2010",进入适配器方法,该方法将字符串传递给SQL语句中的@Types.

任何帮助都会很棒.谢谢!

sql sql-server where-in

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

Visual Studio不存在于命名空间中,但添加了引用

我正在使用Microsoft.VisualStudio.Coverage.Analysis类构建自定义代码覆盖率应用程序.我已经在我的解决方案中添加了对dll的引用,当我开始在我的类顶部键入using语句时,Visual Studio正在预测正确的名称,例如在键入"Microsoft"之后."VisualStudio"将显示在建议框中,同样的事情发生在接下来的两个级别,即覆盖率和分析.但是第二次我尝试构建项目时出现以下错误:

命名空间'microsoft'中不存在类型或命名空间名称'visual studio'

我不知道为什么会这样,所以任何建议都会很棒

c# code-coverage reference visual-studio-2012

3
推荐指数
1
解决办法
3261
查看次数

Http模块认证

我正在使用这篇文章中的以下代码来尝试创建一个自定义 http 模块:

public class BasicAuthenticationModule: IHttpModule
{
  public void Init(HttpApplication application)
  {
    application.AuthenticateRequest += new EventHandler(Do_Authentication);
  }

  private void Do_Authentication(object sender, EventArgs e)
  {
    var request = HttpContext.Current.Request;
    string header = request.Headers["HTTP_AUTHORIZATION"];
    if(header != null && header.StartsWith("Basic "))
    {
      // Header is good, let's check username and password
      string username = DecodeFromHeader(header, "username");
      string password = DecodeFromHeader(header, password);

      if(Validate(username, password) 
      {
        // Create a custom IPrincipal object to carry the user's identity
        HttpContext.Current.User = new BasicPrincipal(username);
      } …
Run Code Online (Sandbox Code Playgroud)

c# httpmodule http-authentication

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