Çalıştır düğmesini işleyiciyi değiştirme

DBPROP_IRowsetLocate özelliği için kod aşağıda gösterildiği gibi eklemelisiniz. Bu özellik sağlayıcı tüketicinin bir yer imi sütun istediğini söyler. Bu kodda, while loop çağrısı içeren IRowsetLocate::Compare. Kendisi için bir yer imi karşılaştırır çünkü bu çağrıyı her zaman, başarılı olmalıdır. Değeri daha sonra MoveToBookmark aramak kullanılabilir çağrı işareti geçici bir değişkende saklayarak.

//////////////////////////////////////////////////////////////////////
/ / TestProvDlg.cpp TestProv tüketici uygulama

void CTestProvDlg::OnRun() {}
   CCommandlt;CAccessor <CProvider> > Tablo;
   CDataSource kaynağı;
   CSession oturumu;

Eğer (kaynak.Open("MyProvider.MyProvider.1", NULL, NULL, NULL, null)! = s_ok)
      return;

Eğer (oturum.Open(source)! = s_ok)
      return;

CDBPropSet propset(DBPROPSET_ROWSET);
   propSet.AddProperty(DBPROP_IRowsetLocate, true);
   Eğer (tablo.Open(Session, _T("c:\\public\\testprf2\\foo.txt"), &propSet)! = s_ok)
      return;

CBookmark <4> tempBookmark;
   ulong ulCount = 0;
   (tablo.MoveNext() == s_ok)
   {

dbcompare karşılaştırın;
      Eğer (ulCount == 2)
         tempBookmark = table.bookmark;
         hr = tablo.Karşılaştır (table.bookmark, table.bookmark,
                 & karşılaştırmak);
      Eğer (FAILED(hr))
         atltrace (_t ("başarısız Karşılaştır: 0x%X\n"), hr);
      başka
         atlassert (Karşılaştır dbcompare_eq ==);

m_ctlString1.AddString(Table.szCommand);
      m_ctlString2.AddString(Table.szText);
      ulCount ++;
   }

Tablo.MoveToBookmark(tempBookmark);
   m_ctlString1.AddString(Table.szCommand);
   m_ctlString2.AddString(Table.szText);
}

Tüketici ile geliştirilmiş sağlayıcısı kullanmak için geri değiştirmek için

Index