У меня есть приложение C ++, которое должно реагировать на изменения состояния, которые хранятся в базе данных SQL. Они должны реагировать в режиме реального времени, и в настоящее время это делается путем опроса. Однако время отклика в реальном времени, которое мне нужно, это перегрузка базы данных.
Я читал об уведомлениях о запросах, представленных в SQL Server 2005, но на самом деле я не совсем понимаю различные доступные методы подключения SQL. В настоящее время я использую ADO.NET для облегчения взаимодействия с базой данных, но единственный пример кода, который я нашел для выполнения уведомлений о запросах такого рода, находится на C # и VB. Не говоря уже о том, что я изо всех сил пытаюсь понять концепцию. Вот пример того, как я в настоящее время запускаю SQL с ADO.NET.
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 ++? Заранее спасибо.
Самый быстрый способ получить данные из базы данных SQL Server — это использовать SqlDataReader, который предназначен только для пересылки и только для чтения.
Взгляните на этот код C ++ и попробуйте.
http://tinyurl.com/m6u9jh7