如何使用C++ADO将GUID用作ADO查询参数
Howto use a GUID as an ADO query parameter using C++ ADO
给定一个SQL Server数据库,该数据库使用uniqueidentifiers作为我要查询的表的主键字段,并且GUID结构(通过rpc.h包含)具有表中某个项的值,我如何创建一个存储该值的ADODB::参数?
我知道这些参数的值为_variant_t。如何从GUID获取_variant_t?强制转换会产生错误,并且_variant_t类型在构造函数中不采用GUID。
我以以下方式创建命令和参数对象:
HRESULT hr;
_CommandPtr selectCmd;
hr = selectCmd.CreateInstance(__uuidof(ADODB::Command));
if (FAILED(hr))
throw _com_error(hr);
selectCmd->CommandText = L"SELECT .... WHERE id=@id";
selectCmd->Parameters->Append(selectCmd->CreateParameter(L"@id",DataTypeEnum::adGUID, ParameterDirectionEnum::adParamInput, 16, /* what to put here? */));
传递一个用大括号格式化的字符串。如果guid值存储在System.guid类型的变量中,则可以使用"B"格式说明符。像这样:
var arg = guid.ToString("B");
请参阅此网页以供参考。
哦,这是C#代码,您可以使用StringFromIID()在C++中生成字符串。
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- 查询SQLite数据库中的日期
- 如何在ArangoDb AQL查询中指定数据库
- Qt SQLite没有查询或参数计数不匹配
- 如何使用c++在VS 2019上运行SQL查询
- 从返回的顶点缓冲区查询顶点结构
- 以非特权用户身份查询 NTFS 特殊文件的元数据?
- C/C++ - 查询平台相关的换行符(用于内存映射文件)
- 查询 NFS 上的提升进程间::file_lock
- Qt JSON – 从子项查询
- 在 c++ 中解决段树以外的范围查询的有效方法是什么?
- 无法从 Win10 中的 IDirectDraw7 查询 IDirect3D7
- 如何查询以确定我的 MacOS/X 应用程序是否处于应用程序午睡模式?
- 在子数组中查找多个查询的不同(唯一)值的数量
- DNS 查询格式标头结构中的小字节序问题
- QSql查询行受影响的结果
- C++库相关查询
- 优化使用 C++ 查询 SQLite DB 中超过 5000 万条数据记录的方式
- MongoDB 使用数组中的 OR 条件构建查询
- 如何使用C++ADO将GUID用作ADO查询参数