Как решить проблему «Строковые или двоичные данные будут обрезаны.\r\nОперация прервана». ошибка?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как решить проблему «Строковые или двоичные данные будут обрезаны.\r\nОперация прервана». ошибка?

Сообщение Anonymous »


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

"Строковые или двоичные данные будут усечены.\r\nОперация прервана."

Я мог обнаружить, что это происходит, когда длина параметра больше длины переменной. Я проверил еще раз, изменив размер. Но не сработало. Повторите то же исключение еще раз. Как я могу это решить? Пожалуйста, помогите

Вот мой код для обновления

bool isFinished = dba.update(обозначение, титул, инициалы, фамилия, полное имя, вызывающее имя, гражданский статус, национальность, ник, день рождения, паспорт, hometp, mobiletp, провинция, район, дивизия, электорат, граманиладхари, такафулл, p_city, c_city, p_hno, c_hno, tokens_P, tokens_C, previousEmployeements, банк, филиал, тип, счет, пол, образовательныйQ, LanguageE, LanguageS, LanguageT, empNo, AppNo); если (завершено) { WebMsgBox.Show("Успешно вставлено!"); } еще { WebMsgBox.Show("Произошли некоторые ошибки"); } } еще { WebMsgBox.Show("Некоторые поля недействительны"); } } } Это код для передачи параметров хранимым процедурам

попробуйте { используя (SqlCommand cmd = новый SqlCommand()) { cmd.ТипКоманды = ТипКоманды.Текст; cmd.ТипКоманды = ТипКоманды.СохраненнаяПроцедура; cmd.Connection = соединение; cmd.CommandTimeout = 0; cmd.Transaction = транзакции; /*======================Обновление сведений о сотруднике==================== ==========*/ cmd.CommandText = "update_HS_HR_EMPLOYEE_AADM"; cmd.Parameters.Add("@appNo", SqlDbType.Int).Value = appNo; cmd.Parameters.Add("@CALLING_NAME", SqlDbType.VarChar).Value = CallingName; cmd.Parameters.Add("@INITIALS", SqlDbType.VarChar).Value = инициалы; cmd.Parameters.Add("@ФАМИЛИЯ", SqlDbType.VarChar).Value = фамилия; cmd.Parameters.Add("@TITLE", SqlDbType.VarChar).Value = title; cmd.Parameters.Add("@NAME", SqlDbType.VarChar).Value = полное имя; cmd.Parameters.Add("@FULLNAME", SqlDbType.VarChar).Value = полное имя + " " + фамилия; cmd.Parameters.Add("@NIC", SqlDbType.VarChar).Value = nic; cmd.Parameters.Add("@BDY", SqlDbType.VarChar).Value = день рождения; cmd.Parameters.Add("@GENDER", SqlDbType.VarChar).Value = пол; cmd.Parameters.Add("@NATIONALITY", SqlDbType.VarChar).Value = национальность; cmd.Parameters.Add("@CIVILSTATUS", SqlDbType.VarChar).Value = CivilSatatus; cmd.Parameters.Add("@DESIGNATION", SqlDbType.VarChar).Value = обозначение; cmd.Parameters.Add("@P_ADD1", SqlDbType.VarChar).Value = p_hno; cmd.Parameters.Add("@P_ADD2", SqlDbType.VarChar).Value = tokens_P[0]; если (tokens_P.Length > 1) cmd.Parameters.Add("@P_ADD3", SqlDbType.VarChar).Value = tokens_P[1]; еще cmd.Parameters.Add("@P_ADD3", SqlDbType.VarChar).Value = ""; cmd.Parameters.Add("@P_CITY", SqlDbType.VarChar).Value = p_city; cmd.Parameters.Add("@TP_HOME", SqlDbType.VarChar).Value = hometp; cmd.Parameters.Add("@TP_MOBILE", SqlDbType.VarChar).Value = mobiletp; cmd.Parameters.Add("@PROVINCE", SqlDbType.VarChar).Value = провинция; cmd.Parameters.Add("@DISTRICT", SqlDbType.VarChar).Value = район; cmd.Parameters.Add("@C_ADD1", SqlDbType.VarChar).Value = c_hno; cmd.Parameters.Add("@C_ADD2", SqlDbType.VarChar).Value = tokens_C[0]; cmd.Parameters.Add("@PER_GNDIV_CODE", SqlDbType.VarChar).Value = gramaNiladhari; cmd.Parameters.Add("@PER_DSDIV_CODE", SqlDbType.VarChar).Value = деление; cmd.Parameters.Add("@TAKAFUL", SqlDbType.VarChar).Value = takafull; cmd.Parameters.Add("@PASSPORT_NO", SqlDbType.VarChar).Value = паспорт; если (tokens_C.Length > 1) cmd.Parameters.Add("@C_ADD3", SqlDbType.VarChar).Value = tokens_C[1]; еще cmd.Parameters.Add("@C_ADD3", SqlDbType.VarChar).Value = ""; cmd.Parameters.Add("@C_CITY", SqlDbType.VarChar).Value = c_city; cmd.Parameters.Add("@ELECTORATE", SqlDbType.VarChar).Value = электорат; //int appNO = int.Parse((cmd.ExecuteScalar().ToString())); cmd.ExecuteNonQuery(); cmd.Параметры.Очистить(); } } Это хранимая процедура
ИЗМЕНИТЬ ПРОЦЕДУРУ [dbo].[update_HS_HR_EMPLOYEE_AADM] @appNo Int, @CALLING_NAME VARCHAR(50), @ИНИЦИАЛЫ ВАРЧАР(50), @ФАМИЛИЯ ВАРЧАР(50), @TITLE ВАРЧАР(50), @ИМЯ ВАРЧАР(50), @ПОЛНОЕ ИМЯ ВАРЧАР(100), @НИК ВАРЧАР(15), @BDY ВАРЧАР(50), @ПОЛ СИМВОЛ(1), @НАЦИОНАЛЬНОСТЬ ВАРЧАР(50), @CIVILSTATUS ВАРЧАР(50), @DESIGNATION VARCHAR(50), @P_ADD1 VARCHAR(50), @P_ADD2 ВАРЧАР(50), @P_ADD3 VARCHAR(50), @P_CITY ВАРЧАР(50), @TP_HOME VARCHAR(50), @TP_MOBILE ВАРЧАР(50), @ПРОВИНЦИЯ ВАРЧАР(50), @РАЙОН ВАРЧАР(50), @C_ADD1 VARCHAR(50), @C_ADD2 VARCHAR(50), @C_ADD3 VARCHAR(50), @C_CITY ВАРЧАР(50), @ЭЛЕКТОРАТ ВАРЧАР(50), @PER_GNDIV_CODE VARCHAR(50), @PER_DSDIV_CODE VARCHAR(50), @ТАКАФУЛ ВАРЧАР(50), @PASSPORT_NO ВАРЧАР(50) КАК НАЧИНАТЬ обновить [HS_HR_EMPLOYEE_AADM] НАБОР [EMP_CALLING_NAME]=@CALLING_NAME ,[EMP_MIDDLE_INI]=@INITIALS ,[EMP_SURNAME]=@SURNAME ,[EMP_TITLE]=@TITLE ,[EMP_NAMES_BY_INI]=@NAME ,[EMP_FULLNAME]=@FULLNAME ,[EMP_NIC_NO]=@NIC ,[EMP_BIRTHDAY]=@BDY ,[EMP_GENDER]=@GENDER ,[NAT_CODE]=@НАЦИОНАЛЬНОСТЬ ,[EMP_MARITAL_STATUS]=@CIVILSTATUS ,[EMP_DATE_JOINED]=GETDATE() ,[EMP_CONFIRM_FLG]=0 ,[CT_CODE]='000008' ,[DSG_CODE]=@DESIGNATION ,[CAT_CODE]='000001' ,[EMP_PER_ADDRESS1]=@P_ADD1 ,[EMP_PER_ADDRESS2]=@P_ADD2 ,[EMP_PER_ADDRESS3]=@P_ADD3 ,[EMP_PER_CITY]=@P_CITY ,[EMP_PER_TELEPHONE]=@TP_HOME ,[EMP_PER_MOBILE]=@TP_MOBILE ,[EMP_PER_PROVINCE_CODE]=@PROVINCE ,[EMP_PER_DISTRICT_CODE]=@DISTRICT ,[EMP_TEM_ADDRESS1]=@C_ADD1 ,[EMP_TEM_ADDRESS2]=@C_ADD2 ,[EMP_PER_ELECTORATE_CODE]=@ELECTORATE ,[EMP_TEM_ADDRESS3]=@C_ADD3 ,[EMP_TEM_CITY]=@C_CITY ,[EMP_PER_GNDIV_CODE]=@PER_GNDIV_CODE ,[EMP_PER_DSDIV_CODE]=@PER_DSDIV_CODE ,[EMP_PASSPORT_NO]=@TAKAFUL ,[EMP_TAK]=@PASSPORT_NO где номер_приложения = @appNo КОНЕЦ
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Строка SQL или двоичные данные будут обрезаны, имя столбца
    Anonymous » » в форуме C#
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • SQLException: строковые или двоичные данные будут усечены.
    Anonymous » » в форуме C#
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • ОШИБКА 1265 (01000): данные для столбца «permissionOperation» в строке 1 обрезаны.
    Anonymous » » в форуме MySql
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Что именно делают строковые префиксы «u» и «r» и что такое необработанные строковые литералы?
    Anonymous » » в форуме Python
    0 Ответы
    33 Просмотры
    Последнее сообщение Anonymous
  • Что именно делают строковые префиксы «u» и «r» и что такое необработанные строковые литералы?
    Anonymous » » в форуме Python
    0 Ответы
    34 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»