Страница: 1 |
|
Вопрос: СРОЧНО - DataGrid и запись в базу
|
Добавлено: 12.09.05 17:32
|
|
Автор вопроса: Alik
|
имеется таблица со структурой:
id date summ1
таблица связана с DataGrid.
Пользователь корректирует сумму или вводит новое значение.
Потом нажимает кнопку сохранить, отрабатывает метод Update - DataAdapter и данные сохраняются в таблице.
Мне необходимо также произвести операции с ТОЛЬКО ТЕМИ ДАННЫМИ КОТОРЫЕ БЫЛИ ИЗМЕНЕНЫ ПОЛЬЗОВАТЕЛЕМ в DataGrid.
Например, был набор:
123 01.09.2005 100
258 01.09.2005 200
456 01.09.2005 400
Пользователь в записе с полем id=258 изменил 200 на 300 и нажал кнопку сохранить.
При этом надо только для этого id=258 (остальные записи не трогать) к дате прибавить 10 дней и вставить новую запись вида:
258 11.09.2005 300
или если есть запись с таким id то обновить ее.
Пишу на VB.NET
Ответить
|
Номер ответа: 5 Автор ответа: Alik
Вопросов: 13 Ответов: 16
|
Профиль | | #5
|
Добавлено: 14.09.05 17:17
|
попробую описать подробнее.
DataGrid связываю так: в свойствах DataSource прописал - DS_db_update1.db
Исполняется код:
Private Sub DB_save_Click( ByVal sender As System. Object, ByVal e As System.EventArgs) Handles DB_save.Click
Dim myCommand As New SqlCommand("UPDATE db SET otgruzka_plan_old = otgruzka_plan", SqlConnection)
SqlConnection. Open()
myCommand.ExecuteNonQuery()
SqlConnection.Close()
  A_db_update.Update(DS_db_update1)
End Sub
Код отрабатывает при нажатии на кнопку Сохранить.
В первом блоке до Update в поле otgruzka_plan_old сохраняю старое значение поля otgruzka_plan, это сделано чтобы до обновления запомнить значение которое было до редактирования пользователем.
Теперь мне необходимо чтобы также при нажатии кнопки Сохранить после вызова Update произвести манипуляции с записями которые были изменены пользователем в DataGrid.
Пример: в DataGrid имеем
1.09.2005 500
2.09.2005 100
3.09.2005 200
Пользователь за 2 сентября изменил 100 на 500.
Сейчас при нажатии Сохранить у меня в поле otgruzka_plan_old запишется 100 (старое значение). И после вызова Update обновятся данные в таблице (то есть 100 заменится на 500).
Так вот надо сделать чтобы только ко 2.09.2005 (именно только к дате в которой пользователь изменил сумму, а не ко всем) прибавить 10 дней и создать запись:
12.09.2005 400
400 вычисляется как 500-100 (новое знач. минус старое)
Вот как это сделать только для записи которую редактировал пользователь не знаю.
Ответить
|
Страница: 1 |
Поиск по форуму