2014-01-13 6 views
1

Я прочиталTableAdapter вставка NULL в полях не обнуляемого

What is the difference between null and System.DBNull.Value?

INSERT/UPDATE data using DBNull or null?

и аналогичные Q & А, но не совсем понимаю. Проблема:

tableAdapter позволяет мне хранить поля с нулевым значением в нуль (AllowDBNull = false).

Что мне нужно проверить?

я могу проверить

перед командой обновления, но хочу знать, почему таблица адаптер позволяет мне хранить NULL

это на самом деле хранения someTextBox.Text = «» при необходимости бросать исключение нулевой не разрешено для некоторого поля.

У меня точно такая же проблема Dataset allowing Null values even when AllowDBNull = False?, но решения нет.

Благодаря

+0

Вы набрали или нетипизировали набор данных? – HABJAN

+0

@HABJAN набранный набор данных – Carlo

ответ

0

мне нужно было больше кода, чтобы увидеть точно, что вы делаете, но:

public static object GetValue(string value) { 
    if (!String.IsNullOrEmpty(value)) { 
    return value; 
    } 
    return DBNull.Value; 
} 

бы, решить свои проблемы?

+0

Когда и где это проверить. Я использую автоматическую сгенерированную (после перетаскивания детали из источников данных) команду tableAdapter update. У меня есть textBox, и если текст в таблице textBox еще не обновляется. TextBox ограничен невообразимым полем. – Carlo

+0

При вставке данных в первый раз эта проблема не возникает. Исключение выбрано 'Невозможно вставить значение NULL в столбец 'pp_naziv', table 'winpro.dbo.pp'; столбец не допускает нулей. INSERT терпит неудачу. Операция завершена. «Но при редактировании существующей записи (если я удаляю только текст в одном из текстовых полей, привязанных к полю с нулевым значением), он сохраняет textbox.Text =« »в db. – Carlo

+0

Это можно изменить, когда ваш элемент управления получает данные, обрабатывая событие DataBinding. http://support.microsoft.com/kb/307860 – jp2code