2011-05-09 72 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。

這應該足以讓你在路上,我不想給你太多,如果它是作業。

希望它有幫助