CRecordset::m_strFilter
Veröffentlicht: Juli 2016
Nachdem Sie das Recordset-Objekt konstruiert haben, aber bevor Sie seine Öffnen-Memberfunktion aufrufen, verwenden Sie diesen Datenmember, um CString zu speichern, das eine Klausel SQL WHERE enthält.
Das Recordset verwendet diese Zeichenfolge, um (Filter) oder die Datensätze einzuschränken, die er während des Öffnen oder Requery Aufrufs auswählt. Dies ist zum Auswählen einer Teilmenge Datensätze, wie "alle Vertriebsmitarbeiter nützlich, die in Kalifornien" angesiedelt werden ("Zustand = Zertifizierungsstelle"). Die ODBC SQL-Syntax für eine WHERE-Klausel ist
WHERE search-condition
Beachten Sie, dass Sie das Schlüsselwort nicht WHERE in der Zeichenfolge einschließen. Das Framework gibt sie an.
Sie können die Filterzeichenfolge auch parametrisieren, indem Sie platzieren "?" Platzhalter darin, einen Parameterdatenmember in der Klasse für jeden Platzhalter deklariert und zur Laufzeit übergeben Parameter für das Recordset. Dadurch können Sie den Filter zur Laufzeit erstellen. Weitere Informationen finden Sie im Artikel Recordset: Parametrisieren eines Recordsets (ODBC).
Weitere Informationen zu SQL WHERE-Klauseln, finden Sie im Artikel SQL. Weitere Informationen zum Auswählen und Filtern von Datensätzen, finden Sie im Artikel Recordset: Filtern von Datensätzen (ODBC).
CCustomer rsCustSet(&m_dbCust);
// Set the filter
rsCustSet.m_strFilter = _T("L_Name = 'Flanders'");
// Run the filtered query
rsCustSet.Open(CRecordset::snapshot, _T("Customer"));
Header: afxdb.h
CRecordset Class
Hierarchiediagramm
CRecordset::m_strSort
CRecordset::Requery