2011-05-09 92 views
0

我做了一些howmework,和我的用户名位于自动创建的数据库,名为ASPNET.DB如何更改用户名在ASPNETDB.MDF

我需要改变字段用户名的价值,但我不知道如何调用主键如果表(userName)。

这是我做过什么:

protected void brukEndringerButton_Click(object sender, EventArgs e) 
    { 
     string txtInput = navnTextBox.Text;   

     SqlDataAdapter adapter; 
     DataSet dataset = new DataSet(); 
     SqlConnection conn = new SqlConnection("Server=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\ASPNETDB.MDF;Trusted_Connection=True;User Instance=yes"); 

     String comm = "SELECT * FROM Informasjon"; 
     adapter = new SqlDataAdapter(comm, conn); 
     SqlCommandBuilder commandBuild = new SqlCommandBuilder(adapter); 
     adapter.Fill(dataset, "Informasjon"); 

     DataRow dr = dataset.Tables["Informasjon"].Rows[???????]; 

     dr["UserName"] = txtInput; 

     adapter.Update(dataset, "Informasjon"); 
     conn.Close(); 

     infoLabel.Text = "Endringer som gjøres!"; 
    } 

有些我是如何找到一行定UserID所以程序会知道什么行需要更新。 我不知道如何获取该数据,我可以调用的唯一东西是

User.Identity.name;

任何想法如何修改该列?

+0

这是你想要一直做的事情,还是只是这次...因为如果它只是你不想做自动化的东西,只需在解决方案资源管理器顶部用锤子点击世界图标并对其进行编辑手动 – 2011-05-09 14:51:30

+0

Da我每次填充该字段时都想这样做。我知道我可以打开数据库并手动更改数值,我需要从页面上完成它(它的作业) – sfrj 2011-05-09 15:11:45

回答

1

听起来像你可能会使用asp.net会员提供商。如果是这样,所有你需要的信息是正确的在文档中:http://msdn.microsoft.com/en-us/library/system.web.security.membership.aspx

没有必要直接与数据库工作(假设您使用的是成员资格提供者)。

+0

我不认为你可以更改UserName,而不是直接对数据库进行编码。 '属性或索引'System.Web.Security.MembershipUser.UserName'不能被分配给 - 它是只读的' – scw 2013-06-27 20:32:31

0

如果您想这样做,请尝试使用用户名前一个值的隐藏字段。现在你可以在SQL中添加一个Where语句。

或者

您可以使用MembershipService来获取其中的MembershipUser的用户名= User.Identity.name

的ProviderUserKey是用户ID。

这应该足以让你在路上,我不想给你太多,如果它是作业。

希望它有帮助