0

我有一个从数据库中的成员表中检索电子邮件的文本框。用户可以编辑他们的电子邮件并更新新的电子邮件。我的问题是,如何用新电子邮件替换旧电子邮件?sql的查询是什么?

SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Connection"].ConnectionString);
    SqlCommand cmd = new SqlCommand("Insert into aspnet_membership("i dont know how whether to write all columns or only email);

    cmd.CommandType = CommandType.Text;
    cmd.Parameters.AddWithValue("@email", Textbox2.Text);
4

6 回答 6

3

我的问题是,如何用新电子邮件替换旧电子邮件?

在这种情况下,您需要 aUPDATE而不是INSERT

   SqlCommand cmd = new SqlCommand("UPDATE aspnet_membership SET 
          email = @email WHERE userID = @userID", conn);
于 2012-09-12T07:45:41.497 回答
2

它将像任何其他简单的更新 SQL 查询一样工作:

update TableName set Columname = @Value where Username = @Value
于 2012-09-12T07:44:30.890 回答
0

您需要使用更新查询而不是插入查询。

在此处查看语法:

http://www.w3schools.com/sql/sql_update.asp

于 2012-09-12T07:44:26.520 回答
0

从 MSDN http://msdn.microsoft.com/en-us/library/ms186862.aspx检查此链接

选择替换('abcdefghicde','cde','xxx'); 去

于 2012-09-12T07:46:11.543 回答
0

因为您想要UpdateEmailID,所以您的查询应该是

SqlCommand cmd = new SqlCommand("Update aspnet_membership set email=@email where  UserID=@UserID");

这应该对您有用,因为您Insert正在尝试的查询,这将始终插入新记录而不是更新旧记录..

于 2012-09-12T07:46:41.863 回答
0

试试这个:您可能需要 UserId 和新电子邮件来替换给定现有用户的现有电子邮件地址。

SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Connection"].ConnectionString);
SqlCommand cmd = new SqlCommand("UPDATE aspnet_membership SET email = @newEmail WHERE UserID = @userID");

cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@email", Textbox2.Text);
cmd.Parameters.AddWithValues("@UserId", YourUserId);

conn.open();
cmd.ExecuteNonQuery();
conn.close();
于 2012-09-12T07:49:57.410 回答