在where子句中使用GUID时,C#中的SQL没有结果

时间:2014-01-22 12:12:24

标签: c# sql sql-server guid where-clause

我有一个我无法弄清楚的问题。在我的C#(VS)项目中,我从我的数据库中获取结果,但在使用指定GUID值的WHERE子句时却没有。

下面的SQLCommand永远不会返回任何结果,查询在sqlcmd的同一台计算机上运行,​​并且它可以在数据库服务器上运行

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...

1 个答案:

答案 0 :(得分:1)

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