我有一个 C++ 应用程序,它必须对保存在 SQL 数据库中的状态更改做出反应。他们必须实时做出反应,目前这是通过轮询来完成的。但是,我需要的实时响应时间使数据库过载。
我已经阅读了 SQL Server 2005 中引入的查询通知,但实际上我并不真正了解可用的不同 SQL 连接方法。目前我使用 ADO.NET 来促进数据库通信,但我发现的用于执行这种性质的查询通知的唯一示例代码是 C# 和 VB。更不用说我正在努力理解这个概念。这是我当前如何使用 ADO.NET 运行 SQL 的示例。
hr = link.CreateInstance(__uuidof(Connection) );
if (link) { // Execute the query on the open connection using existing command object
pCommand.CreateInstance(__uuidof(Command));
pCommand->ActiveConnection = link;
pCommand->CommandType = ado20CommandType;
pCommand->CommandText = strQuery.GetBuffer(0);
pCommand->PutPrepared(true);
pCommand->NamedParameters = true;
if (pRecordSet = pCommand->Execute(&vRecordsAffected,NULL,NULL)) { // Execute the final query and set object-level recordset object
lRecordsAffected = vRecordsAffected.lVal;
_RecordsetPtr pfuRecordSet = link->Execute(_T("SELECT @@IDENTITY as pmIDENT;"),NULL,adCmdText);
CString strID = pfuRecordSet->GetFields()->GetItem(COleVariant("pmIDENT"))->Value.bstrVal;
int nID = atoi(strID);
if (nID > 0) {
nLastInsertedID = nID;
}
return true;
}
我想知道是否有人可以为我提供资源和/或示例代码来帮助我在 C++ 中进行设置?提前致谢。