Condividi tramite


Impostazione di proprietà nel provider

Cercare il gruppo e l'ID della proprietà desiderata. Per ulteriori informazioni, vedere Proprietà OLE DB in OLE DB Programmer's Reference (informazioni in lingua inglese).

Nel codice del provider generato tramite la procedura guidata cercare la mappa delle proprietà corrispondente al gruppo della proprietà. Il nome del gruppo della proprietà corrisponde in genere al nome dell'oggetto. Le proprietà del comando e del rowset si trovano nell'oggetto Command o Rowset, le proprietà dell'origine dati e di inizializzazione si trovano nell'oggetto DataSource.

Aggiungere alla mappa delle proprietà una macro PROPERTY_INFO_ENTRY_EX. PROPERTY_INFO_ENTRY_EX accetta quattro parametri:

  • L'ID della proprietà in questione. Rimuovere i primi sette caratteri ("DBPROP_") dal nome della proprietà. Se ad esempio si desidera aggiungere DBPROP_MAXROWS, passare MAXROWS come primo elemento. Se si tratta di una proprietà personalizzata, passare il nome GUID completo, ad esempio DBMYPROP_MYPROPERTY.

  • Il tipo Variant della proprietà. Vedere OLE DB Properties in OLE DB Programmer's Reference (informazioni in lingua inglese). Immettere il tipo VT_, ad esempio VT_BOOL o VT_I2, corrispondente al tipo di dati.

  • I flag che indicano se la proprietà è di lettura e scrittura e il gruppo a cui essa appartiene. Nel codice che segue, ad esempio, è riportata una proprietà di lettura/scrittura appartenente al gruppo Rowset:

    DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE
    
  • Il valore base della proprietà. Può essere, ad esempio, VARIANT_FALSE per un tipo Boolean oppure zero per un tipo Integer. La proprietà presenterà questo valore, a meno questo non sia stato modificato.

    Nota

    Alcune proprietà sono connesse o concatenate ad altre proprietà, ad esempio quelle relative ai bookmark o all'aggiornamento.Quando un consumer imposta una proprietà su true, è possibile che venga impostata automaticamente anche un'altra proprietà.I modelli provider OLE DB supportano questo meccanismo tramite il metodo CUtlProps::OnPropertyChanged.

Proprietà ignorate dai provider OLE DB Microsoft

Le seguenti proprietà di OLE DB vengono ignorate dai provider OLE DB Microsoft:

  • DBPROP_MAXROWS può essere utilizzata solo per i provider in sola lettura, ovvero i provider in cui DBPROP_IRowsetChange e DBPROP_IRowsetUpdate sono false. In caso contrario la proprietà non è supportata.

  • DBPROP_MAXPENDINGROWS viene ignorata. Il limite viene specificato dallo stesso provider.

  • DBPROP_MAXOPENROWS viene ignorata. Il limite viene specificato dallo stesso provider.

  • DBPROP_CANHOLDROWS viene ignorata. Il limite viene specificato dallo stesso provider.

Vedere anche

Concetti

Utilizzo dei modelli provider OLE DB