исключение с nvarchar - данные были усечены при преобразовании из одного типа данных в другой - PullRequest
0 голосов
/ 06 декабря 2010

У меня проблемы с вводом данных в несколько столбцов базы данных, все типы nvarchar. Я получаю:

Данные были усечены при преобразовании из одного типа данных в другой. Название функции (если известно)

DBConn.Open();

cmd = new SqlCeCommand("INSERT INTO [Employee Table] VALUES ('"+ social + "','" +
        first + "','" + last + "','" + mid + "','" + address + "','" + phone + "',"
            + "'Employee'" + ",'" + city + "','" + state + "','" + zip + "','" + email + "','" + userName + "')", DBConn);
cmd.ExecuteNonQuery();

Какие-либо предложения о том, как избежать ошибки усечения / преобразования?

Ответы [ 3 ]

7 голосов
/ 06 декабря 2010

Ваш NVARCHAR недостаточно большой, чтобы вместить вашу строку.

4 голосов
/ 06 декабря 2010

попробуйте использовать параметры

SqlParameter param = new SqlParameter("Field", SqlDbType.NVarChar)    
Param.Value = Field;
2 голосов
/ 15 июня 2012

Причина в том, что длина столбца очень мала. Таким образом, значение превышает максимальную ширину столбца таблицы.

...