| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Базы данных под .NET > Несоответствие IDENTITY в DataGrid и в БД |
| Автор: Roo 30.3.2006, 11:24 |
| БД на MS SQL Server. DataGrid настроен на типизированный DataSet. Проблема такая: если на сервере для новой записи определённое значение IDENTITY заблокировано (например, последняя запись имеет ID = 100, а значение 101 заблокировано), то на DataGrid'е это никак не отражается. Т.е. если вставлять новую запись через DataGrid, ID выставится = 101, что не пройдёт в БД. Как быть? |
| Автор: arilou 30.3.2006, 17:18 |
| Roo, а ты думал! Ведь датасет - это отсоединенный набор данных, откуда ж ему знать о том, что происходит в таблице. Ты уверен что не пройет? Ведь запись будет помечена как New, что при обновлении вызовет оператор INSERT, а значение AutoIncrement поля не будет принято во внимание. |
| Автор: Roo 30.3.2006, 18:31 |
| Да, ясно, в чём дело. ДатаГрид полностью отображает все столбцы, в том числе и столбец ID., и выставляет его равным предыдущему+1. Т.е. надо чтоб этот столбец не отображался. А как это сделать? С помощью TableStyles не выходит... |
| Автор: arilou 30.3.2006, 18:36 |
| А этот вопрос ты уже задал в параллельной ветке |
| Автор: Roo 30.3.2006, 19:31 | ||
Точно =)) Именно поэтому здесь и задал, что там никто не отвечает... |
| Автор: arilou 31.3.2006, 11:11 |
| Roo, если кто знает, то обязательно ответит. кросспостить вопрос не нужно. |