Конвертировать varchar в char? как исправить ошибку - PullRequest
2 голосов
/ 10 февраля 2011

Я получаю эту ошибку ниже, когда хочу преобразовать DRMKOD в char?

[varchar (1) coloumn] - это тип столбца "DRMKOD" в таблице sql.

Строка должна быть ровно один символ длиной.в System.Convert.ToChar (строковое значение, поставщик IFormatProvider) в System.String.System.IConvertible.ToChar (поставщик IFormatProvider) в System.Convert.ToChar (значение объекта)

 entity.DrmKod = Convert.ToChar(dt.Rows[i]["DRMKOD"]);

 public char DrmKod
        {
            get { return _DrmKod; }
            set { _DrmKod = value; }
        }

Ответы [ 3 ]

3 голосов
/ 10 февраля 2011

Два типа не совместимы.varchar - это строка, char - один символ.

Преобразование результата в строку, а затем получение первого символа с использованием str[0] (при условии, что строка даже содержит любые символы и не равна нулю!).

2 голосов
/ 10 февраля 2011

Какое значение имеет значение dt.Rows [i] ["DRMKOD"]? Я могу только думать, что это что-то пустое или нулевое.

0 голосов
/ 10 февраля 2011

VARCHAR (1) подразумевает, что это может быть NULL или String.Empty.

if (dt.Rows[i].IsNull("DRMKOD") || (dt.Rows[i]["DRMKOD"] == String.Empty))
    entity.DrmKod = ' '
else
    entity.DrmKod = Convert.ToChar(dt.Rows[i]["DRMKOD"]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...