大家好,本人有兴趣来自己研究一下如何用Access Database来代替SQL Server ,以下是一段关于初始化的一个方法,但不是很明白这段代码具体是什么意思,请指教,谢谢!
public override void Initialize(string name, System.Collections.Specialized.NameValueCollection config)
    {
        if (config["requiresQuestionAndAnswer"].ToLower() == "true")
        { 
            _requiresQuestionAndAnswer = true;
        }
        else
        {
            _requiresQuestionAndAnswer = false;
        }
        int.TryParse (config["minRequiredPasswordLength"],out _minRequiredPasswordLength ); 
        connStr = config["connectionString"];
        base.Initialize(name, config);
    }

解决方案 »

  1.   

    1。从webconfig里边读出requiresQuestionAndAnswer得值,初始化。
    2。从webconfig里边读出minRequiredPasswordLength得值,初始化。
    3。从webconfig里边读出connectionString
    4。调用membership的Initialize方法。
      

  2.   

    不好意思兄弟,但是我还有一个问题啊,就是但我用注册控件来创建一个用户时,出现"未创建您的帐户。请重试"的信息,觉得很郁闷,上MSDN查了一下,原来是CreateUserWizard.UnknownErrorMessage 属性引起的。我覆盖的代码如下:
     public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status)
        {
           OleDbConnection conn = new OleDbConnection(connStr);
           try
           {
               conn.Open();
               
               string sql = "insert into Membership(username,password,Email,passwordQuestion,passwordAnswer) values(@username,@password,@email,@passwordQuestion,@passwordAnswer)";
               OleDbCommand command = new OleDbCommand(sql, conn);
               command.Parameters.AddWithValue("@username", username);
               command.Parameters.AddWithValue("@password", password);
               command.Parameters.AddWithValue("@email", email);
               command.Parameters.AddWithValue("@passwordQuestion", passwordQuestion);
               command.Parameters.AddWithValue("@passwordAnswer", passwordAnswer);
               command.ExecuteNonQuery();
               
              
                   MembershipUser user = new MembershipUser("AccessMembershipProvider", username, providerUserKey, email, passwordQuestion, "", isApproved, true, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now);
                   status = MembershipCreateStatus.Success;
                  
                   return user;
                  
               
              
           }
           catch
           {
               if (conn.State == ConnectionState.Open)           conn.Close();
               status = MembershipCreateStatus.ProviderError;
               return null;       }
           finally
           {
               conn.Close();
              
           }
        }     
    就这样一个问题,请你帮帮忙!搞好了,马上给分!!!谢谢!
      

  3.   

    这个容易,你跟一下你得insert的sql语句,看看成不成功?
    如果不成功那就是参数问题。
      

  4.   

    终于暂时解决了,原来sql语句的字段要加上[]才行的。但是遇到长数据又出现异常,不过都暂时解决问题了。好的,结贴了,谢谢你!