我正在做一些操作,我的userName位于一个自动创建的数据库中,名为ASPNET.DB
我需要更改字段用户名的值,但是我不知道如果表(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的Row,以便程序知道Row需要更新什么。 我不知道如何获取这些数据,我唯一可以称之为
User.Identity.name;
任何想法如何修改该列?
答案 0 :(得分:1)
听起来您可能正在使用asp.net会员提供商。如果是这样,您需要的所有信息都在文档中:http://msdn.microsoft.com/en-us/library/system.web.security.membership.aspx
无需直接使用数据库(假设您使用的是成员资格提供程序)。
答案 1 :(得分:0)
如果您想这样做,请尝试使用前一个用户名值的隐藏字段。现在,您可以在Sql中添加Where语句。
或者
您可以使用MembershipService来获取MembershipUser,其中username = User.Identity.name
ProviderUserKey是用户ID。
这应该足以让你顺利上路,如果是家庭作业,我不想给你太多。
希望有所帮助