Я работаю с MS Access, и хотел бы, как обновить correctly..here данных является кодом я использую на моей кнопке мыши события без везенияMS Access Обновление с добавлением
OleDbCommand cmd = new OleDbCommand("SELECT * FROM ItemTemp WHERE ITEM='" + txtItemname.Text + "'", GetConnection());
OleDbDataReader reader = cmd.ExecuteReader();
//check if this item exist on the table ItemTemp
if (reader.HasRows == true)
{
// item exists, do below action
OleDbCommand cmde = new OleDbCommand("UPDATE ItemTemp SET QUANTITY=QUANTITY + @QUANTITY, PRICE=PRICE + @PRICE WHERE ITEM='" + txtItemname.Text + "'", GetConnection());
cmde.Parameters.AddWithValue("@QUANTITY", txtItemquantity.Value); //numericupdown control
cmde.Parameters.AddWithValue("@PRICE", txtItemprice.Text); //textbox control
cmde.ExecuteNonQuery();
}
данных о базы данных перед обновлением:
ID | ITEM | QUANTITY | PRICE
1 | ITEM1 | 1 | 400
данные по базе данных после обновления:
ID | ITEM | QUANTITY | PRICE
1 | ITEM1 | 11 | 400400
данных на базе данных, которые я хочу, чтобы это было FTER обновление:
ID | ITEM | QUANTITY | PRICE
1 | ITEM1 | 2 | 800
я верю, что моя команда является правильной, если не мое bad..there никакого другой, чем этот код на моем случае нажатия кнопки. есть идеи?
Похоже, что столбец «Количество и цена» имеют тип текста. Не могли бы вы подтвердить это? – Steve
Я отредактировал ваш заголовок. Пожалуйста, смотрите: «Если вопросы включают« теги »в их названиях?] (Http://meta.stackexchange.com/questions/19190/), где консенсус« нет, они не должны ». –
FYI, ваши два 'OleDbCommand' и ваш' OleDbDataReader' должны находиться в 'использовании' блоков. –