Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Заполнить таблицу через приложение если одно из полей автоинкремент / 13 сообщений из 13, страница 1 из 1
04.11.2013, 14:30
    #38451840
Kareglazaya
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнить таблицу через приложение если одно из полей автоинкремент
есть таблица факультет, которая хранит id и название. причем id настроено автоинкремент через identity. в базе заполняется просто занесением названия. (sql ) . хочу добавить новый факультет через web приложение (C#) заполняю название через введение его через текстбокс , id не заполняю тк инкремент. выдает ошибку что поле id нельзя заполнить когда identity_insert имеет значение off подскажите как провести такое заполнение или как избавится от этой ошибки
...
Рейтинг: 0 / 0
04.11.2013, 14:47
    #38451866
Dmitry Gurianov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнить таблицу через приложение если одно из полей автоинкремент
Kareglazayaесть таблица факультет, которая хранит id и название. причем id настроено автоинкремент через identity. в базе заполняется просто занесением названия. (sql ) . хочу добавить новый факультет через web приложение (C#) заполняю название через введение его через текстбокс , id не заполняю тк инкремент. выдает ошибку что поле id нельзя заполнить когда identity_insert имеет значение off подскажите как провести такое заполнение или как избавится от этой ошибки

Это означает, что ваш софт пытается прописать ID явно, и это надо перестать делать: в ADO - не указывать поле ID при вставке, в LINQ2SQL и EF - установить, что поле автогенерируется в базе. Если юзаете Code First, то поставить соответствующий аттрибут на поле.
...
Рейтинг: 0 / 0
04.11.2013, 14:51
    #38451874
Kareglazaya
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнить таблицу через приложение если одно из полей автоинкремент
Dmitry Gurianov,я и не указываю ему значение id/ только название...
...
Рейтинг: 0 / 0
04.11.2013, 14:53
    #38451880
Dmitry Gurianov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнить таблицу через приложение если одно из полей автоинкремент
KareglazayaDmitry Gurianov,я и не указываю ему значение id/ только название...

это может делать за вас инструмент, который вы используете для сохранения записи в БД. Каким образом и с помощью чего вы сохраняете запись?
btw, можно стукнуться скайп skvoznik - так быстрее.
...
Рейтинг: 0 / 0
04.11.2013, 15:02
    #38451908
Kareglazaya
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнить таблицу через приложение если одно из полей автоинкремент
Dmitry Gurianov,
работаю в visual studio / есть текстбокс куда записываю название факультета вот таким глупым кодом(как научили)
метод addFacult прописываю соединение с бд (ent переменная оттуда)

Facultet f = new Facultet();
f.name_facultet = Name; (Name передаю как аргумент в методе)
ent.AddToFacultet(f);
ent.SaveChanges();

затем на кнопку вешаю
addTofacult(TextBox8.Text);

соответственно надеюсь на то что бд сама ему ид присвоит и его нкак не вставляю..и ошибка появляется о которой выше писала...строго не судите совсем еще null в этом)
...
Рейтинг: 0 / 0
04.11.2013, 15:10
    #38451923
Dmitry Gurianov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнить таблицу через приложение если одно из полей автоинкремент
KareglazayaFacultet f = new Facultet();
f.name_facultet = Name; (Name передаю как аргумент в методе)
ent.AddToFacultet(f);
ent.SaveChanges();

затем на кнопку вешаю
addTofacult(TextBox8.Text);

соответственно надеюсь на то что бд сама ему ид присвоит и его нкак не вставляю..и ошибка появляется о которой выше писала...строго не судите совсем еще null в этом)

Этой информации недостаточно, чтобы понять чем и как вы сохраняете запись. Что делает ваш SaveChanges, код в стдяю подалуйста (поэтому и попросил в скайп - чтобы вот этих итераций было меньше). Если SaveChanges - это метод ObjectContext и вы используете Entity Framework, то либо в модели edmx установите StoreGeneragedPatter=Identity для поля Id, либо, если Code First, аттрибут DatabaseGenerated для соответствующего столбца. Я бы рекомендовал вам изучить предметную область, иначе таких вопросов будет вагон :)
...
Рейтинг: 0 / 0
04.11.2013, 15:15
    #38451929
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнить таблицу через приложение если одно из полей автоинкремент
Dmitry Gurianov,

... судя по тому, что было упомянуто "веб-приложение C#", то это похоже на проект MVC ...
...
Рейтинг: 0 / 0
04.11.2013, 15:16
    #38451931
Dmitry Gurianov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнить таблицу через приложение если одно из полей автоинкремент
carrotikDmitry Gurianov,

... судя по тому, что было упомянуто "веб-приложение C#", то это похоже на проект MVC ...

и это не говорит о слое доступа к данным
...
Рейтинг: 0 / 0
04.11.2013, 15:29
    #38451949
Kareglazaya
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнить таблицу через приложение если одно из полей автоинкремент
Dmitry Gurianov,
SaveChanges - это метод ObjectContext и использую Entity Framework, в модели edmx установила StoreGeneragedPatter=Identity для поля Id, но та же самая ошибка
...
Рейтинг: 0 / 0
04.11.2013, 15:35
    #38451957
Dmitry Gurianov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнить таблицу через приложение если одно из полей автоинкремент
Kareglazaya, немного прояснения.
Все операции с данными в БД проводятся командами SQL, и все программы, написанные на C#, в конечном итоге отправляют именно запросы вида "INSERT INTO..." в базу данных. Созданием этих запросов занимается программист явно прописывая синтаксис запроса (через SqlCommand, например), либо используя встроенные средства и шаблоны Visual Studio, которые позволяют программеру немного абстрагироваться от написания запросов и оперировать понятиями бизнес-уровня (типа добавить сотрудника в штат), но при этом в базу данных поступают ровно те же текстовые SQL-запросы.
Инструмент, которым пользуется программер - ADO, L2S, EF или другие - прежде, чем правильно транслировать действия программиста в SQL-запросы, должен "знать", какие ограничения и правила есть в БД - в вашем случае, например, нельзя вставлять значение в поле Id. Он это может узнать автоматически при первом подключении к БД - когда вы генерируете модель данных, либо когда вы явно ему это указываете в коде. Соответственно, если вы однажды сгенерировали одну модель данных, а потом в БД что-то изменили, он может это не узнать и продолжать отправлять неверные запросы.
Всем написанным я хочу сказать, что "само" ничего не происходит, а то, что выполняется неявно для вас, вам необходимо четко знать и понимать.
...
Рейтинг: 0 / 0
04.11.2013, 15:38
    #38451961
Dmitry Gurianov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнить таблицу через приложение если одно из полей автоинкремент
KareglazayaDmitry Gurianov,
SaveChanges - это метод ObjectContext и использую Entity Framework, в модели edmx установила StoreGeneragedPatter=Identity для поля Id, но та же самая ошибка

Установите также ему EntityKey=true. Если не поможет, попробуйте перегенерировать модель данных EDMX заново. На этом здесь завершу, с вашего позволения. Буду доступен в скайпе.
...
Рейтинг: 0 / 0
04.11.2013, 15:54
    #38451978
Kareglazaya
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнить таблицу через приложение если одно из полей автоинкремент
Dmitry Gurianov,
спасибо! я разобралась благодаря вашим объяснениям. простите за глупости, но я пока только учусь..
...
Рейтинг: 0 / 0
04.11.2013, 15:57
    #38451981
Dmitry Gurianov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнить таблицу через приложение если одно из полей автоинкремент
Kareglazaya, всегда пожалуйста.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Заполнить таблицу через приложение если одно из полей автоинкремент / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]