Как сумма стоимости при использовании Insert для таблицы SQL с использованием C#
Это работает, но проблема в том, что каждый раз, когда я выхожу из приложения и перезапускаю его, он начинает суммировать с самого начала, и я хочу продолжить суммирование.
Это мой класс:
public class clans public string Name{ get; set; } public string Craft { get; set; } public int Month { get; set; } public int Year { get; set; } public decimal Price { get; set; } public decimal Total {get; set; }
Этот код предназначен для вставки в SQL таблицу obb:
cl.Name = txtInsertName.Text; cl.Craft = txtInsertCraft.Text; cl.Month = Convert.ToInt32(txtInsertMounth.Text); cl.Year = Convert.ToInt32(txtInsertYear.Text); cl.Price = Convert.ToDecimal(txtInsertPrice.Text); cl.Total += cl.Price; SqlCommand cmd; string query = "insert into obb(Name,Craft,Month,Year,Price,Total) values(@p1,@p2,@p3,@p5,@p6,@p7)"; cmd = new SqlCommand(query, db); cmd.Parameters.AddWithValue("@p1", cl.Name); cmd.Parameters.AddWithValue("@p2", cl.Craft); cmd.Parameters.AddWithValue("@p3", cl.Month); cmd.Parameters.AddWithValue("@p5", cl.Year); cmd.Parameters.AddWithValue("@p6", cl.Price); cmd.Parameters.AddWithValue("@p7", cl.Total); cmd.CommandType = CommandType.Text; int i = cmd.ExecuteNonQuery(); //This line is for datagridview string query1 = @" SELECT * FROM obb order by Name ASC, Year ASC"; clansBindingSource1.DataSource = db.Query(query1, commandType: CommandType.Text);
Решения приветствуются..
Что я уже пробовал:
Я хочу суммировать цену в общем заказе на Имя и год при вставке данных в таблицу SQL.
Dylvh
Иметь цену и общую сумму в одной и той же записи без количества немного сбивает с толку (но я могу не понять, что вы пытаетесь сделать). Причина, по которой это начинается с самого начала, заключается в том, что вы не восстанавливаете данные, которые уже были вставлены в базу данных в первую очередь. Это должно быть сделано до того, как вы начнете получать значения из текстовых полей.
1. Сначала вы должны получить данные. (Выбрать название, год, Цена от порядка кэш по имени АСК, АСК год)
2. Сложите цену за имя и год.
3. Добавить новый цена и вставить новые данные.
Это один из способов сделать это. Другой способ сделать это-при повторном получении данных у вас есть следующий запрос (выберите имя, год, сумму(цену) 'Total' из группы obb по имени, году). Это даст вам общую цену за имя и год, и вы можете просто работать с ним оттуда.