【发布时间】:2011-05-29 05:50:00
【问题描述】:
我的注册表单有一个 CreateUserWizard。我使用了它在创建用户后触发的事件。
然后我获取用户身份和密钥。在最后一行中,我将唯一键发送到类中的一个函数,该函数应该将该键插入用户表(该字段是主键并且是唯一的)。
public partial class Registration : System.Web.UI.Page
{
protected void CreateUserWizard1_CreatedUser(object sender, EventArgs e)
{
MembershipUser CurrentUser = Membership.GetUser(User.Identity.Name);
int i =(int) CurrentUser.ProviderUserKey;
RegisterAdo.InsertUsers(i);
}
}
下面,我使用传递的值执行查询并将用户插入数据库
class RegisterAdo
{
public static void InsertUsers(int UsersIDentity)
{
string myConnectionString = WebConfigurationManager.ConnectionStrings["YourGuruDB"].ConnectionString;
SqlConnection sqlConnect = new SqlConnection(myConnectionString);
SqlCommand sqlCommand = new SqlCommand(RegisterAdo.insertCommand(UsersIDentity), sqlConnect);
try
{
sqlConnect.Open();
sqlCommand.ExecuteNonQuery();
}
catch (Exception x)
{
}
finally
{
sqlConnect.Close();
}
}
public static String insertCommand(int UsersIdentityToinsert)
{
string insertCommand="INSERT INTO Users(";
insertCommand += "UserID)";
insertCommand += "VALUES('";
insertCommand += UsersIdentityToinsert+"')";
return insertCommand;
}
我的问题是将UserID 插入表中是否是最好的方法,以及我是否完全正确。我需要 UserID 是唯一的,并且整个命令执行没有失败......(就在创建用户并且整个 UserCreateUser 完成验证用户之后!!!
【问题讨论】: