Не удалось преобразовать значение параметра из строки в guid
У меня есть многоуровневое приложение. Слой данных выполняет вызов к базе данных, используя набор данных, который содержит табличный адаптер. В таблице базы данных есть поле с именем ID типа UniqueIdentifier. Затем я создаю следующий запрос:
select * from tbl where ID=@ID
Когда я пытаюсь просмотреть результаты в конструкторе набора данных, я получаю сообщение об ошибке "Не удалось преобразовать значение параметра из строки в guid".
Я попытался добавить одинарные кавычки вокруг переданного значения, но не сработало.
Куда я иду не так?
1 ответ
Решение
Ваш идентификатор столбца имеет тип Guid в вашей базе данных, но ваш параметр string
,
Вы можете преобразовать свой параметр в SqlGuid
:
command.Parameters.Add("@GuidParameter", SqlDbType.UniqueIdentifier).Value = new System.Data.SqlTypes.SqlGuid(YourGuid); //The value of @ID
Ссылка: https://msdn.microsoft.com/library/system.data.sqltypes.sqlguid.aspx?f=255&MSPPError=-2147217396