Как преобразовать значение NULL asp.net в "" (пустая строка) - PullRequest
2 голосов
/ 06 мая 2011

У меня есть ситуация, когда я использую подробное представление с источником данных SQLDataSource для обновления записи в базе данных SQL Server.

Моя проблема заключается в том, что текстовые поля, которые не заполнены, в базе данных преобразуются в NULL.Это вызывает проблему, поскольку веб-сайт использует сторонние веб-службы, которые не могут обработать значение NULL DB.

Есть ли способ, что если текстовое поле оставить пустым, то, когда происходит обновление или вставка, данные преобразуютсяв "" (пустая строка) вместо значения NULL?

Ответы [ 2 ]

5 голосов
/ 06 мая 2011

Поскольку вы используете SQLDataSource, при вставке или обновлении записи, существует свойство ConvertEmptyStringToNull параметров Вставить / обновить.Задайте для этого параметра значение false и задайте пустую строку, если этому элементу управления не предоставлено значение.Посмотрите на пример ниже:

<asp:SqlDataSource ID="SqlDataSource1" runat="server">
        <InsertParameters>
            <asp:ControlParameter ConvertEmptyStringToNull="false" />
        </InsertParameters>
        <UpdateParameters>
            <asp:ControlParameter ConvertEmptyStringToNull="false" />
        </UpdateParameters>
    </asp:SqlDataSource>
0 голосов
/ 06 мая 2011

Вы можете установить значение по умолчанию из "" в столбце таблицы базы данных.Или в ваших операторах выбора SQL вы можете сделать что-то вроде

SELECT IsNull(ColName,"")
FROM SomeTable

...