6

我有一个分层的应用程序。数据层通过使用包含 tableadapter 的数据集来调用数据库。在数据库表中有一个名为 ID 的字段,类型为UniqueIdentifier。然后我创建以下查询:

select * from tbl where ID=@ID

当我尝试在数据集设计器中预览结果时,我收到错误“无法将参数值从字符串转换为 guid”。

我尝试在传入的值周围添加单引号但没有用。

我哪里错了?

4

1 回答 1

11

您的列 ID 在数据库中是 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

于 2012-10-10T10:02:44.403 回答