| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Базы данных под .NET > проблемы с IDENTITY полем в dataGridView |
| Автор: Redsweet 1.4.2009, 16:15 |
| Здравствуйте! Помогите пожалуйста! У меня возникла такая проблема: Я создала таблицу базы данных в MS SQL server 2000, в таблице есть ключеве поле ID. В свойствах этого поля установленны параметры Identity (1,1). При заполнении таблице в самом SQL Server-е поле id автоматически заполняется неповторяемым значением. Но, когда я подключаю эту таблицу к dataGridView (Visual Studio 2008) и пытаюсь занести данные в следующую строку, в самом dataGridView, то поле id становится равным -1 (-2, -3 и т.д.). При нажатии на кнопке для сохранения введенных данных в БД, введенная мною строка отчищается, поле ID принимает заначение которое еще не повторялось, т.е. -1 меняется на пример на 5 (как и положено!). Почему так происходит? Как настроить это поле в dataGridView что бы не было этих отрицательных значений и все работало как в SQL Server??? Огромное спасибо заранее!!! |
| Автор: Idsa 1.4.2009, 16:18 |
| Покажите код, в котором Вы считываете информацию из БД в DataSet и баиндите к DataGridView. |
| Автор: Redsweet 1.4.2009, 16:38 | ||
Ммм. Вообще, я делаю это не кодом, а в ручную. Создаю на форме dataGridView, появляется белое окошечко dataGrid Tasks . В раскрывающемся списке ChooseDataSource выбираю Add Project dataSource. Далее по ходу мастера выбираю БД и таблицу которую хочу увидеть в dataGridView. все. После нажития на f5 вижу таблицу с записями которые ввела еще в SQL Server . Сдесь то и начинаются проблемы при обавлении следующей записи в самом dataGridView. Может все-таки я не правильно связываю? |
| Автор: Idsa 1.4.2009, 17:14 |
| Redsweet, странно все это... Может, дизайнер гонит. У Вас какая студия? По идее в таблице, которую Вы баиндите к DataGridView, для колонки id (вероятно, table.Columns[0]) дизайнер должен был выставить AutoIncrement = true, AutoIncrementSeed = 1, AutoIncrement = 1. Посмотрите, чему эти значения равны у Вас. |
| Автор: Redsweet 1.4.2009, 18:34 |
| Ааа.. Нашла! У меня эти значения были: AutoIncrement = true, AutoIncrementSeed = -1, AutoIncrement = -1 Заменила на 1 и все сразу заработало! Idsa, спасибо! |