大家好,本人有兴趣来自己研究一下如何用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);
}
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);
}
2。从webconfig里边读出minRequiredPasswordLength得值,初始化。
3。从webconfig里边读出connectionString
4。调用membership的Initialize方法。
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();
}
}
就这样一个问题,请你帮帮忙!搞好了,马上给分!!!谢谢!
如果不成功那就是参数问题。