Не удалось преобразовать значение параметра из строки в 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

Другие вопросы по тегам