c # Доступ к вставке новых данных в таблицу с автонумерацией - PullRequest
0 голосов
/ 29 мая 2011

У меня есть таблица с этими столбцами:

PersonID AutoNumber PrimaryKey
TCKimlikNo Number
PersonName Text
PersonSurname Text
Address Text
Birthdate Text
CategoryID Number

Когда я пытаюсь вставить значение из c #, я использую этот запрос:

INSERT INTO Person(TCKimlikNo, PersonName, PersonSurname, Adress, BirthDate, CategoryID) 
VALUES(@tcKimlikNo, @personName, @personSurname, @adress, @birthDate, @categoryId)

Но там написано:

"Microsoft Access set 1 поле в Null из-за преобразования типов ошибка, и это не добавило 0 записей к таблице из-за ключевых нарушений, 0 записи из-за нарушений блокировки, и 0 записей из-за правила проверки нарушения ".

Я думаю, что ошибка произошла из-за этого столбца автонумерации. Access пытается вставить в него пустое значение, но поле этого не позволяет. В SQL этот запрос работает отлично. Но Access просто раздражает.

1 Ответ

1 голос
/ 29 мая 2011

Значение NULL связано с проблемой преобразования типов. Скорее всего, вы передаете данные в одно из ваших полей, которые Access не может преобразовать в ожидаемый тип данных. Я предполагаю, что вы передаете значение CategoryID, которое не конвертируется в правильное число. Это также может относиться к полю TCKimlinkNo. Я считаю, что если строковое поле слишком короткое для переданных значений, оно просто усекает их, поэтому сомневаюсь, что это проблема.

Кроме того, не забудьте проверить размер ваших числовых полей. Номер, который вы вводите, больше разрешенного? Вы отправляете десятичные данные, когда ожидается целое число?

Автономер не будет проблемой, если вы не пытаетесь записать в него (что вы, похоже, не делаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...