怎么加呢,加一个return "failed"行不行。

解决方案 »

  1.   

    return salt ;放在最后,试试
      

  2.   

    try{
     conn.Open();
     reader.Close();
     return salt ;
    }
    catch{}
    finally
    {
    conn.Close();
    } 哥哥,你真的学过编程吗?
    如是有异常
    并不一定保证conn.open成功
    哪儿来的conn.close
    如果没有异常
    已经return 退出该方法
    又哪儿来的conn.close哎......................
    一地鸡毛....................
    -----------------------
    怎么加呢,加一个return "failed"行不行。
    ------------------------
    返回什么关justcode(小码) 
    什么时
    你无聊返回return null或者return string.empty都可以
    当然也可以返回 "failed"
    但是我知道我的老师曾经教过我
    只要有可能,不要在代码中使用静态变量
    -------------------------
    如果你超过了20岁,建议你去买块豆腐
    -------------------------心情不好,多多原谅
      

  3.   

    string salt = null;
    try
    {
    ...
    salt = reader.GetString(1);
    reader.Close();
    }
    ...
    finally
    {
    ...
    }
    return salt ;
      

  4.   

    try
    {
    conn.open
    return "";
    }
    catch(Exceiption ex)
    {
    ex.tostring();
    return string.empty;
    }
    finally
    {
    conn.close;
    }
      

  5.   

    严重抗议:blackant2(乔峰)
    哥哥,你真的学过编程吗?
    如是有异常
    并不一定保证conn.open成功
    哪儿来的conn.close
    如果没有异常
    已经return 退出该方法
    又哪儿来的conn.close哎......................
    一地鸡毛....................
    -----------------------
    怎么加呢,加一个return "failed"行不行。
    ------------------------
    返回什么关justcode(小码) 
    什么时
    你无聊返回return null或者return string.empty都可以
    当然也可以返回 "failed"
    但是我知道我的老师曾经教过我
    只要有可能,不要在代码中使用静态变量
    -------------------------
    如果你超过了20岁,建议你去买块豆腐
    -------------------------心情不好,多多原谅
    ------------------------------------------说明:这段代码是微软网站上的,心情不好就不要上CSDN去指责提问的人。原代码如下,难道不能改改么?
    针对数据库验证用户凭据1.
     返回到 Logon.aspx.cs,并按以下代码中所示添加 VerifyPassword 私有帮助器方法:private bool VerifyPassword(string suppliedUserName, 
                                string suppliedPassword )

      bool passwordMatch = false;
      // 基于用户名从数据库获取 salt 和 pwd。
      // 请参见“如何在 ASP.NET 中使用 DPAPI(计算机存储)”、“如何在企业服务中使用 DPAPI 
      // (用户存储)”和“如何创建 DPAPI 
      // 库”,以了解如何使用 DPAPI 来安全地存储 
      // 连接字符串的详细信息。
      SqlConnection conn = new SqlConnection( "Server=(local);" + 
                                              "Integrated Security=SSPI;" +
                                              "database=UserAccounts");
      SqlCommand cmd = new SqlCommand( "LookupUser", conn );
      cmd.CommandType = CommandType.StoredProcedure;  SqlParameter sqlParam = cmd.Parameters.Add("@userName", 
                                                 SqlDbType.VarChar, 255);
      sqlParam.Value = suppliedUserName;
      try
      {
        conn.Open();
        SqlDataReader reader = cmd.ExecuteReader();
        reader.Read(); // 前进到唯一的行
        // 从返回的数据流中返回输出参数
        string dbPasswordHash = reader.GetString(0);
        string salt = reader.GetString(1);
        reader.Close();
        // 现在使用用户输入的 salt 和密码
        // 并将它们连接在一起。
        string passwordAndSalt = String.Concat(suppliedPassword, salt);
        // 现在对它们进行哈希计算
        string hashedPasswordAndSalt =       
                   FormsAuthentication.HashPasswordForStoringInConfigFile(
                                                   passwordAndSalt, "SHA1");
        // 现在验证它们。
        passwordMatch = hashedPasswordAndSalt.Equals(dbPasswordHash);
      }
      catch (Exception ex)
      {
        throw new Exception("验证密码时出现异常。 " + ex.Message);
      }
      finally
      {
        conn.Close();
      }
      return passwordMatch;
    }