|
Заполнить таблицу через приложение если одно из полей автоинкремент
|
|||
---|---|---|---|
#18+
есть таблица факультет, которая хранит id и название. причем id настроено автоинкремент через identity. в базе заполняется просто занесением названия. (sql ) . хочу добавить новый факультет через web приложение (C#) заполняю название через введение его через текстбокс , id не заполняю тк инкремент. выдает ошибку что поле id нельзя заполнить когда identity_insert имеет значение off подскажите как провести такое заполнение или как избавится от этой ошибки ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2013, 14:30 |
|
Заполнить таблицу через приложение если одно из полей автоинкремент
|
|||
---|---|---|---|
#18+
Kareglazayaесть таблица факультет, которая хранит id и название. причем id настроено автоинкремент через identity. в базе заполняется просто занесением названия. (sql ) . хочу добавить новый факультет через web приложение (C#) заполняю название через введение его через текстбокс , id не заполняю тк инкремент. выдает ошибку что поле id нельзя заполнить когда identity_insert имеет значение off подскажите как провести такое заполнение или как избавится от этой ошибки Это означает, что ваш софт пытается прописать ID явно, и это надо перестать делать: в ADO - не указывать поле ID при вставке, в LINQ2SQL и EF - установить, что поле автогенерируется в базе. Если юзаете Code First, то поставить соответствующий аттрибут на поле. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2013, 14:47 |
|
Заполнить таблицу через приложение если одно из полей автоинкремент
|
|||
---|---|---|---|
#18+
Dmitry Gurianov,я и не указываю ему значение id/ только название... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2013, 14:51 |
|
Заполнить таблицу через приложение если одно из полей автоинкремент
|
|||
---|---|---|---|
#18+
KareglazayaDmitry Gurianov,я и не указываю ему значение id/ только название... это может делать за вас инструмент, который вы используете для сохранения записи в БД. Каким образом и с помощью чего вы сохраняете запись? btw, можно стукнуться скайп skvoznik - так быстрее. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2013, 14:53 |
|
Заполнить таблицу через приложение если одно из полей автоинкремент
|
|||
---|---|---|---|
#18+
Dmitry Gurianov, работаю в visual studio / есть текстбокс куда записываю название факультета вот таким глупым кодом(как научили) метод addFacult прописываю соединение с бд (ent переменная оттуда) Facultet f = new Facultet(); f.name_facultet = Name; (Name передаю как аргумент в методе) ent.AddToFacultet(f); ent.SaveChanges(); затем на кнопку вешаю addTofacult(TextBox8.Text); соответственно надеюсь на то что бд сама ему ид присвоит и его нкак не вставляю..и ошибка появляется о которой выше писала...строго не судите совсем еще null в этом) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2013, 15:02 |
|
Заполнить таблицу через приложение если одно из полей автоинкремент
|
|||
---|---|---|---|
#18+
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 для соответствующего столбца. Я бы рекомендовал вам изучить предметную область, иначе таких вопросов будет вагон :) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2013, 15:10 |
|
Заполнить таблицу через приложение если одно из полей автоинкремент
|
|||
---|---|---|---|
#18+
Dmitry Gurianov, ... судя по тому, что было упомянуто "веб-приложение C#", то это похоже на проект MVC ... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2013, 15:15 |
|
Заполнить таблицу через приложение если одно из полей автоинкремент
|
|||
---|---|---|---|
#18+
carrotikDmitry Gurianov, ... судя по тому, что было упомянуто "веб-приложение C#", то это похоже на проект MVC ... и это не говорит о слое доступа к данным ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2013, 15:16 |
|
Заполнить таблицу через приложение если одно из полей автоинкремент
|
|||
---|---|---|---|
#18+
Dmitry Gurianov, SaveChanges - это метод ObjectContext и использую Entity Framework, в модели edmx установила StoreGeneragedPatter=Identity для поля Id, но та же самая ошибка ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2013, 15:29 |
|
Заполнить таблицу через приложение если одно из полей автоинкремент
|
|||
---|---|---|---|
#18+
Kareglazaya, немного прояснения. Все операции с данными в БД проводятся командами SQL, и все программы, написанные на C#, в конечном итоге отправляют именно запросы вида "INSERT INTO..." в базу данных. Созданием этих запросов занимается программист явно прописывая синтаксис запроса (через SqlCommand, например), либо используя встроенные средства и шаблоны Visual Studio, которые позволяют программеру немного абстрагироваться от написания запросов и оперировать понятиями бизнес-уровня (типа добавить сотрудника в штат), но при этом в базу данных поступают ровно те же текстовые SQL-запросы. Инструмент, которым пользуется программер - ADO, L2S, EF или другие - прежде, чем правильно транслировать действия программиста в SQL-запросы, должен "знать", какие ограничения и правила есть в БД - в вашем случае, например, нельзя вставлять значение в поле Id. Он это может узнать автоматически при первом подключении к БД - когда вы генерируете модель данных, либо когда вы явно ему это указываете в коде. Соответственно, если вы однажды сгенерировали одну модель данных, а потом в БД что-то изменили, он может это не узнать и продолжать отправлять неверные запросы. Всем написанным я хочу сказать, что "само" ничего не происходит, а то, что выполняется неявно для вас, вам необходимо четко знать и понимать. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2013, 15:35 |
|
Заполнить таблицу через приложение если одно из полей автоинкремент
|
|||
---|---|---|---|
#18+
KareglazayaDmitry Gurianov, SaveChanges - это метод ObjectContext и использую Entity Framework, в модели edmx установила StoreGeneragedPatter=Identity для поля Id, но та же самая ошибка Установите также ему EntityKey=true. Если не поможет, попробуйте перегенерировать модель данных EDMX заново. На этом здесь завершу, с вашего позволения. Буду доступен в скайпе. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2013, 15:38 |
|
Заполнить таблицу через приложение если одно из полей автоинкремент
|
|||
---|---|---|---|
#18+
Dmitry Gurianov, спасибо! я разобралась благодаря вашим объяснениям. простите за глупости, но я пока только учусь.. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2013, 15:54 |
|
|
start [/forum/topic.php?fid=20&msg=38451949&tid=1403751]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
68ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 183ms |
0 / 0 |