Странная проблема с sql сервером. Принимая нулевые значения в то время как - PullRequest
0 голосов
/ 25 апреля 2011

Первый снимок экрана с ошибкой Второй снимок экрана с ошибкой

Моя база данных принимает нулевые значения, что противоречит определению таблицы.Смотрите снимки.Является ли это возможным?То, что я определяю столбцы как ненулевые, и они могут принимать нулевые значения

Я вводил данные из формы asp.net и определил эти значения как нулевые при загрузке страницы.

например, txtUser_id.Text = "";,,.

Были сохранены только те значения, которые не были объявлены нулевыми, см. Моментальный снимок в приведенных выше ссылках.

Ответы [ 4 ]

3 голосов
/ 25 апреля 2011

Звездочка слева означает, что это новая строка, которая еще не сохранена, то есть когда она будет проверена по определению таблицы.

1 голос
/ 25 апреля 2011

textbox.Text="" не является нулевым значением. Это пустая строка. Вставка на сервер sql - это то же самое, что сказать Insert '' into...

Значения 'null' в вашей первой записи - просто пустые строки. Если вы хотите отклонить пустые строки, выполните проверку по String.IsNullOrEmpty(txtUser_id.Text) на стороне C # или выполните проверку по rtrim(ltrim([insertedValue])) на стороне SQL.

Как упомянуто @StriplingWarrior, нижняя строка (все пустые) является просто заполнителем до тех пор, пока не будут добавлены дополнительные записи.

0 голосов
/ 25 апреля 2011

Я бы порекомендовал не использовать какой-либо графический интерфейс с открытой таблицей (я не знаю точного имени). Не ясно, приняла ли ваша «база данных» NULL значения или эти столбцы имеют пустое строковое значение. Выполните следующий запрос в «окне запроса», чтобы точно сказать:

SELECT * FROM dbo.Student;

Я бы также рекомендовал не использовать термин «снимок» для обозначения того, что чаще называют «снимком экрана», только потому, что «снимок» - это очень специфический термин в SQL Server. [Сначала я думал, что вы разместили файл, содержащий снимок базы данных вместо изображений!]

Ваш код ASP.NET также может передавать пустые строки, как, кажется, указывает ваш пример кода.

0 голосов
/ 25 апреля 2011

При «редактировании» таблицы в SQL Server Management Studio всегда есть строка, показывающая значения NULL в нижней части вашего представления.Эта строка со значениями NULL на самом деле еще не существует в вашей таблице базы данных.Вот почему есть * слева.Это для вашего удобства, так что вы можете легко вставить значения.Как только вы введете значения, будет проверено, что столбцы не равны NULL, прежде чем фактически вставить значения.

Если вы ссылаетесь на пустые значения в первой строке таблицы:пусто не то же самое, что NULL.У вас нет ограничений на запрет ввода строк нулевой длины в эти столбцы, и вот что произошло.

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