悬赏园豆:20
[已解决问题]
解决于 2008-05-29 12:27
我的目的就是能好好利用工具箱中"登陆"组控件,同时用自己的数据库。
这些天查了一些资料,但还是不太明白,怎么这么复杂呢。
我首先自己写MembershipProvider,继承至SqlMembershipProvider
下面是重写CreateUser方法。
public override MembershipUser CreateUser(string username,
string password,
string email,
string passwordQuestion,
string passwordAnswer,
bool isApproved,
object providerUserKey,
out System.Web.Security.MembershipCreateStatus status
)
{
SqlConnection conn = new SqlConnection(WebConfigurationManager.AppSettings["connStr"]);
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "INSERT INTO [user] (name,pw) VALUES(@username,@password)";
cmd.Parameters.Add("@username", SqlDbType.NChar, 50).Value = username;
cmd.Parameters.Add("@password", SqlDbType.NChar, 50).Value = password;
cmd.Connection = conn;
conn.Open();
cmd.ExecuteNonQuery();
status = MembershipCreateStatus.Success;
conn.Close();
return null;
}
web.config都配置好了。
出现的错误是:
找不到存储过程 'dbo.aspnet_CheckSchemaVersion'。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.SqlClient.SqlException: 找不到存储过程 'dbo.aspnet_CheckSchemaVersion'。
可能是第一次运行时会创建一个数据库,但我不要它创建数据库,用我自己的数据库。所以是不是应该有一个初始化的方法或者构造函数什么的要重写?
我参照codeproject.com上MySqlMemberShipProvider试着写了代码,但是没有头绪,还是出错。
想问问大家,到底要怎么才能自己写membership and role providers来用上Login控件组?
大家实际中的应用,登陆,注册都是自己另外写的控件吗?
问题补充:
怎么就一个人回答呢,大家帮帮忙....
奇军
|
菜鸟二级
|
园豆:265
提问于:2008-05-24 22:06
显示帮助
使用"Ctrl+Enter"可进行快捷提交,评论支持部分 Markdown 语法:[link](http://example.com) _italic_ **bold** `code`。