C# 在where子句中使用GUID时,C中的SQL不会产生任何结果

C# 在where子句中使用GUID时,C中的SQL不会产生任何结果,c#,sql,sql-server,guid,where-clause,C#,Sql,Sql Server,Guid,Where Clause,我有个问题想不出来。在我的C-VS项目中,我从数据库中获得结果,但在使用指定GUID值的WHERE子句时不会得到结果 下面的SQLCommand从不返回任何结果,该查询在同一台计算机上为sqlcmd工作,并在DB服务器上工作 SqlCommand blobSQL = new SqlCommand("SELECT [DocumentData] FROM [archive].[dbo].[tbl] WHERE [Part.PartID] = '31A799AA-508D-4757-9DB5-167C

我有个问题想不出来。在我的C-VS项目中,我从数据库中获得结果,但在使用指定GUID值的WHERE子句时不会得到结果

下面的SQLCommand从不返回任何结果,该查询在同一台计算机上为sqlcmd工作,并在DB服务器上工作

SqlCommand blobSQL = new SqlCommand("SELECT [DocumentData] FROM [archive].[dbo].[tbl] WHERE [Part.PartID] = '31A799AA-508D-4757-9DB5-167C2B75B197'", dataConnection);
此查询返回结果

SqlCommand blobSQL = new SqlCommand("SELECT [DocumentData] FROM [archive].[dbo].[tbl]", dataConnection);
我想不出是怎么回事

编辑: 要稍微澄清一下,这是一张表:

Part.PartID                             DocumentData
31A799AA-508D-4757-9DB5-167C2B75B197    0x255044462...
717FE1D1-EEBF-46B5-8445-1A7CE0247C0F    0x255044462...
C04CCBB0-E2DC-4B94-911C-57571F6A04A6    0x255044462...
7F27C60C-3C29-42EE-9575-8E8B0E76BCE6    0x255044462...

C中有一个GUID类。如果将id存储在GUID对象中,并使用参数将其添加到查询中,则该类可能会起作用。

是否在SSMS中执行了该查询,以查看是否存在具有第一次查询中显示的值的记录。已检查该值是否存在于表中。您的查询是在SQL中查询GUID数据类型的正确格式。列是否为Guid数据类型?如果是,那么我建议仔细检查您的记录。这也很好:D:_temp\extract>bcp从[archive].[dbo].[tbl]中选择[DocumentData],其中[Part.PartID]='31A799AA-508D-4757-9DB5-167C2B75B197'queryout pdf.pdf-N-S 192.168.202.130-U sa-P pass刚刚尝试了这个,我得到了相同的结果:SqlCommand blobSQL=new SqlCommandSELECT[archive].[dbo].[tbl]中的[DocumentData],其中[Part.PartID]=@GUID,数据连接;GUID GUID=new-Guid31A799AA-508D-4757-9DB5-167C2B75B197;blobSQL.Parameters。Add@GUID,SqlDbType.UniqueIdentifier;blobSQL.Parameters[@GUID].Value=guid;这很奇怪。您确定在调用查询时不会抑制任何异常吗?顺便问一下,您是否将其作为标量执行?我相信不是:SqlDataReader blobReader=blobSQL.ExecuteReaderCommandBehavior.SequentialAccess;我可以说什么。使用TSQL模板运行SQL Server Profiler以查看到底传递给MSSQL的是什么。不知道该说什么…现在我知道了t使用此解决方案。SqlCommand blobSQL=new SqlCommandSELECT[DocumentData]FROM[archive].[dbo].[tbl]WHERE[Part.PartID]=@GUID,dataConnection;GUID GUID=new Guid31A799AA-508D-4757-9DB5-167C2B75B197;blobSQL.Parameters。Add@GUID,SqlDbType.UniqueIdentifier;blobSQL.Parameters[@GUID].Value=GUID;