я использую OleDbCommand.ExecuteNonQuery() для вставки данных в базу данных:Исключения по ExecuteNonQuery методы о неудачной стоимости конвертации
ObjCommand = New OleDbCommand
ObjCommand.CommandType = CommandType.StoredProcedure
ObjCommand.CommandText = StrSQL
ObjCommand.Parameters.Add("field1", OleDbType.VarChar).Value = <something1>
ObjCommand.Parameters.Add("field", OleDbType.VarChar).Value = <something2>
(...)
(...)
ObjCommand.Parameters.Add("field50", OleDbType.VarChar).Value = <something50>
ObjCommand.Connection = GetDBConnection(StrConnectionString)
ObjCommand.Connection.Open()
<some integer> = ObjCommand.ExecuteNonQuery()
И есть исключение преобразования, который показывает только в последней строке:
ошибка преобразования типа данных VARCHAR в SMALLINT
Я хотел бы знать, если это нормальное поведение, и как я знаю, ш здесь возникает проблема преобразования.
обновление:
ObjCommand.Parameters.Add("@IdMunFatoGerador", OleDbType.VarChar).Value
= ObjNFe.idMunFatoGerador
я нашел эту линию через комментируя каждую строку и раскомментировав некоторых, это один дает мне сказанное исключение.
ObjNFe.idMunFatoGerador является строкой и дает мне «ошибка преобразования типа данных VARCHAR в SMALLINT» слишком
Обс: это более двух параметров и более 50. это сводка моего кода. – Marcelo
50 параметров кажутся ужасными для хранимой процедуры. Не то, чтобы это было каким-то образом релевантным, а просто другим обс. –
Почему я был заблокирован? этот вопрос уже был решен! – Marcelo