Заменить записи в SQL - PullRequest
       4

Заменить записи в SQL

0 голосов
/ 02 марта 2012

У меня есть таблица в дБ, в которой хранятся имя пользователя, месяц, расходы и цена.Пользователь выберет месяц из выпадающего меню.Любой месяцНо скажем, если он уже выбрал январь раньше, то, если он войдет и снова выберет январь, система заменит старые записи января новыми.Мой вопрос, как заменить в БД, если пользователь выбирает тот же месяц, что и раньше?

Спасибо

Ответы [ 2 ]

3 голосов
/ 02 марта 2012

Отметьте как часть вашего запроса и выполните обновление вместо вставки , если запись месяца уже существует:

IF NOT EXISTS (select * from ExpTab where month = @mnth)
BEGIN
  Insert into ExpTab (username,month,ex1,p1) Values (@name,@mnth,@ex1s,@p1s)
END
ELSE
  Update ExpTab Set username = @name, ex1 = @ex1s, p1 = @p1s where month = @mnth
1 голос
/ 02 марта 2012

Попробуйте это:

protected void Button1_Click(object sender, EventArgs e)
{
    SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Connection"].ConnectionString);

        SqlCommand deleteCmd = new SqlCommand("DELETE FROM ExpTab WHERE username = @name AND month = @mnth", conn);
        deleteCmd.CommandType = CommandType.Text;
        deleteCmd.Parameters.AddWithValue("@name", Membership.GetUser().UserName);
        deleteCmd.Parameters.AddWithValue("@mnth", Label1.Text);
        deleteCmd.ExecuteNonQuery();

    SqlCommand cmd = new SqlCommand("Insert into ExpTab (username,month,ex1,p1) Values (@name,@mnth,@ex1s,@p1s)", conn);

    cmd.CommandType = CommandType.Text;
    cmd.Parameters.AddWithValue("@name", Membership.GetUser().UserName);
    cmd.Parameters.AddWithValue("@mnth", Label1.Text);
    .
    .
    .
    .
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...