我正在尝试使用 ADO Filter 属性来过滤带有uniqueidentifier
列的 Recordset。我正在使用SQLOLEDB.1
提供程序在 Windows 7 上使用 ADO 连接到 SQL Server 2008。
我创建了一个 Recordset 并使用它来将 SQL 查询发送到服务器。然后我设置 ADORecordset.Filter
属性。无论我为过滤器尝试了什么,我都会遇到错误。
如果我尝试
[column name] = '5D9C83FB-E758-0D4B-B1C7-E751D951B67C'
我明白了
无法打开过滤器。
如果我尝试
[column name] like '%5D9C83FB-E758-0D4B-B1C7-E751D951B67C%'
我明白了
无效的类字符串。
(注意:为了清楚起见,我省略了所有必需的双引号。我可以搜索其他类型的字符串列,所以引用不是问题。)
我正在使用 Delphi XE2,但我认为这可能不相关,因为我直接创建我的 ADO 对象而不是使用它们的任何包装器代码。Filter
我对任何各种字符串类型列上的属性都没有问题,只是uniqueidentifier
.
我的基本问题是,如果你能做到这一点,你是怎么做到的(在查询期间没有将列转换为字符串)?更普遍的问题是使用带有属性uniqueidentifier
的列的规则是什么。Filter
我找不到任何相关的东西。