Если существует... Запрос не может работать
Привет,
У меня есть элемент таблицы, мне нужно проверить, существует ли идентификатор в таблице, а затем удалить запись и вставить ее.Мой код выглядит так
public bool Savedata(List<itemValues> lstitem) { string query = "IF EXISTS(SELECT ID from Item where ID=@ID)" + "DELETE FROM Item WHERE ID=@ID;" + "INSERT INTO Item(" + "ItemName, " + "Price, " + "ID) VALUES (" + "@ItemName, " + "@Price, " + "@ID)"; return Data.CreateItem(lstitem, query); }
public bool CreateItem(List<itemValues> lstitem, string query) { try { Connection Conn = new Connection(); sqlCon = Conn.SqlConnection(); if (lstitem.Any()) { foreach (var item in lstitem) { using (SqlCommand cmd = new SqlCommand(query, sqlCon)) { cmd.CommandType = CommandType.Text; cmd.Parameters.Add("@ItemName ", SqlDbType.VarChar).Value = item.itemName; cmd.Parameters.Add("@Price", SqlDbType.Int).Value = item.Price; cmd.Parameters.Add("@ID", SqlDbType.Int).Value = item.ID; sqlCon.Open(); int rowsAffected = cmd.ExecuteNonQuery(); sqlCon.Close(); } } } } catch (Exception ex) { return false; } return true; }
Он не может проверить существующие данные, вставить все данные из списка в таблицу элементов.Как это решить?
Что я уже пробовал:
Я пытаюсь с помощью запроса If exists (...).