Macro e funzioni globali per modelli consumer OLE DB
I modelli consumer OLE DB includono le macro e le funzioni globali seguenti:
Funzioni globali
Nome | Descrizione |
---|---|
AtlTraceErrorRecords | Esegue il dump delle informazioni sul record di errore OLE DB nel dispositivo di dump se viene restituito un errore. |
Macro mappa delle funzioni di accesso
Nome | Descrizione |
---|---|
BEGIN_ACCESSOR | Contrassegna l'inizio di una voce della funzione di accesso. |
BEGIN_ACCESSOR_MAP | Contrassegna l'inizio delle voci della mappa delle funzioni di accesso. |
END_ACCESSOR | Contrassegna la fine di una voce della funzione di accesso. |
END_ACCESSOR_MAP | Contrassegna la fine delle voci della mappa della funzione di accesso. |
Macro mappa colonne
Nome | Descrizione |
---|---|
BEGIN_COLUMN_MAP | Contrassegna l'inizio delle voci della mappa delle colonne nella classe di record utente. |
BLOB_ENTRY | Usato per associare un oggetto binario di grandi dimensioni (BLOB). |
BLOB_ENTRY_LENGTH | Segnala la lunghezza della colonna di dati BLOB. |
BLOB_ENTRY_LENGTH_STATUS | Segnala la lunghezza e lo stato della colonna di dati BLOB. |
BLOB_ENTRY_STATUS | Segnala lo stato della colonna di dati BLOB. |
BLOB_NAME | Utilizzato per associare un oggetto binario di grandi dimensioni in base al nome della colonna. |
BLOB_NAME_LENGTH | Segnala la lunghezza della colonna di dati BLOB. |
BLOB_NAME_LENGTH_STATUS | Segnala la lunghezza e lo stato della colonna di dati BLOB. |
BLOB_NAME_STATUS | Segnala lo stato della colonna di dati BLOB. |
BOOKMARK_ENTRY | Rappresenta una voce di segnalibro nel set di righe. Una voce di segnalibro è un tipo speciale di voce di colonna. |
COLUMN_ENTRY | Rappresenta un'associazione a una colonna specifica nel database. |
COLUMN_ENTRY_EX | Rappresenta un'associazione alla colonna specifica nel database. Supporta parametri di tipo, lunghezza, precisione, scala e stato . |
COLUMN_ENTRY_LENGTH | Rappresenta un'associazione alla colonna specifica nel database. Supporta la variabile di lunghezza . |
COLUMN_ENTRY_LENGTH_STATUS | Rappresenta un'associazione alla colonna specifica nel database. Supporta i parametri di stato e lunghezza . |
COLUMN_ENTRY_PS | Rappresenta un'associazione alla colonna specifica nel database. Supporta parametri di precisione e scala . |
COLUMN_ENTRY_PS_LENGTH | Rappresenta un'associazione alla colonna specifica nel database. Supporta i parametri di lunghezza variabile, precisione e scala . |
COLUMN_ENTRY_PS_LENGTH_STATUS | Rappresenta un'associazione alla colonna specifica nel database. Supporta variabili di stato e lunghezza , precisione e parametri di scala . |
COLUMN_ENTRY_PS_STATUS | Rappresenta un'associazione alla colonna specifica nel database. Supporta i parametri di variabile di stato , precisione e scala . |
COLUMN_ENTRY_STATUS | Rappresenta un'associazione alla colonna specifica nel database. Supporta la variabile di stato . |
COLUMN_ENTRY_TYPE | Rappresenta un'associazione a una colonna specifica nel database. Supporta il parametro di tipo . |
COLUMN_ENTRY_TYPE_SIZE | Rappresenta un'associazione alla colonna specifica nel database. Supporta parametri di tipo e dimensioni . |
COLUMN_NAME | Rappresenta un'associazione a una colonna specifica nel database in base al nome. |
COLUMN_NAME_EX | Rappresenta un'associazione a una colonna specifica nel database in base al nome. Supporta la specifica del tipo di dati, delle dimensioni, della precisione, della scala, della lunghezza della colonna e dello stato della colonna. |
COLUMN_NAME_LENGTH | Rappresenta un'associazione a una colonna specifica nel database in base al nome. Supporta la specifica della lunghezza della colonna. |
COLUMN_NAME_LENGTH_STATUS | Rappresenta un'associazione a una colonna specifica nel database in base al nome. Supporta la specifica della lunghezza e dello stato delle colonne. |
COLUMN_NAME_PS | Rappresenta un'associazione a una colonna specifica nel database in base al nome. Supporta la specifica di precisione e scala. |
COLUMN_NAME_PS_LENGTH | Rappresenta un'associazione a una colonna specifica nel database in base al nome. Supporta la specifica di precisione, scala e lunghezza delle colonne. |
COLUMN_NAME_PS_LENGTH_STATUS | Rappresenta un'associazione a una colonna specifica nel database in base al nome. Supporta la specifica di precisione, scala, lunghezza della colonna e stato della colonna. |
COLUMN_NAME_PS_STATUS | Rappresenta un'associazione a una colonna specifica nel database in base al nome. Supporta la specifica di precisione, scala e stato della colonna. |
COLUMN_NAME_STATUS | Rappresenta un'associazione a una colonna specifica nel database in base al nome. Supporta la specifica dello stato della colonna. |
COLUMN_NAME_TYPE | Rappresenta un'associazione a una colonna specifica nel database in base al nome. Supporta la specifica del tipo di dati. |
COLUMN_NAME_TYPE_PS | Rappresenta un'associazione a una colonna specifica nel database in base al nome. Supporta la specifica del tipo di dati, della precisione e della scala. |
COLUMN_NAME_TYPE_SIZE | Rappresenta un'associazione a una colonna specifica nel database in base al nome. Supporta la specifica del tipo di dati e delle dimensioni. |
COLUMN_NAME_TYPE_STATUS | Rappresenta un'associazione a una colonna specifica nel database in base al nome. Supporta la specifica del tipo di dati e dello stato della colonna. |
END_COLUMN_MAP | Contrassegna la fine delle voci della mappa delle colonne. |
Macro dei comandi
Nome | Descrizione |
---|---|
DEFINE_COMMAND | Specifica il comando che verrà usato per creare il set di righe quando si usa la classe CCommand . Accetta solo tipi stringa corrispondenti al tipo di applicazione specificato (ANSI o Unicode). È consigliabile usare DEFINE_COMMAND_EX anziché DEFINE_COMMAND. |
DEFINE_COMMAND_EX | Specifica il comando che verrà usato per creare il set di righe quando si usa la classe CCommand . Supporta applicazioni ANSI e Unicode. |
Macro della mappa dei parametri
Nome | Descrizione |
---|---|
BEGIN_PARAM_MAP | Contrassegna l'inizio delle voci della mappa dei parametri nella classe di record utente. |
END_PARAM_MAP | Contrassegna la fine delle voci della mappa dei parametri. |
SET_PARAM_TYPE | Specifica COLUMN_ENTRY macro che seguono la macro SET_PARAM_TYPE come input, output o input/output. |
AtlTraceErrorRecords
Esegue il dump delle informazioni sul record di errore OLE DB nel dispositivo di dump se viene restituito un errore.
Sintassi
inline void AtlTraceErrorRecords(HRESULT hrErr = S_OK);
Parametri
Herr
[in] HrESULT restituito da una funzione membro del modello di consumer OLE DB.
Osservazioni:
Se hErr non è S_OK, AtlTraceErrorRecords
esegue il dump delle informazioni sul record di errore OLE DB nel dispositivo di dump (la scheda Debug della finestra output o di un file). Le informazioni sui record di errore, ottenute dal provider, includono il numero di riga, l'origine, la descrizione, il file della Guida, il contesto e il GUID per ogni voce del record di errore. AtlTraceErrorRecords
esegue il dump di queste informazioni solo nelle compilazioni di debug. Nelle build di versione si tratta di uno stub vuoto ottimizzato. Per altre informazioni, vedere Classe CDBErrorInfo.
BEGIN_ACCESSOR
Contrassegna l'inizio di una voce della funzione di accesso.
Sintassi
BEGIN_ACCESSOR(num, bAuto)
Parametri
num
[in] Numero di offset zero per la funzione di accesso in questa mappa della funzione di accesso.
bAuto
[in] Specifica se questa funzione di accesso è una funzione di accesso automatica o una funzione di accesso manuale. Se true
, la funzione di accesso è automatica; se false
, la funzione di accesso è manuale. Una funzione di accesso automatica indica che i dati vengono recuperati per le operazioni di spostamento.
Osservazioni:
Nel caso di più funzioni di accesso in un set di righe, è necessario specificare BEGIN_ACCESSOR_MAP e usare la macro BEGIN_ACCESSOR per ogni singola funzione di accesso. La macro BEGIN_ACCESSOR viene completata con la macro END_ACCESSOR. La macro BEGIN_ACCESSOR_MAP viene completata con la macro END_ACCESSOR_MAP.
Esempio
Vedere BEGIN_ACCESSOR_MAP.
BEGIN_ACCESSOR_MAP
Contrassegna l'inizio delle voci della mappa delle funzioni di accesso.
Sintassi
BEGIN_ACCESSOR_MAP(x, num)
Parametri
x
[in] Nome della classe di record utente.
num
[in] Il numero delle funzioni di accesso in questa mappa.
Osservazioni:
Nel caso di più funzioni di accesso in un set di righe, è necessario specificare BEGIN_ACCESSOR_MAP all'inizio e usare la macro BEGIN_ACCESSOR per ogni singola funzione di accesso. La macro BEGIN_ACCESSOR viene completata con la macro END_ACCESSOR. La mappa della funzione di accesso viene completata con la macro END_ACCESSOR_MAP.
In presenza di una sola funzione di accesso nel record utente, usare la macro BEGIN_COLUMN_MAP.
Esempio
class CArtistsAccessor
{
public:
// Data Elements
TCHAR m_szFirstName[21];
TCHAR m_szLastName[31];
short m_nAge;
// Output binding map
BEGIN_ACCESSOR_MAP(CArtistsAccessor, 2)
BEGIN_ACCESSOR(0, true)
COLUMN_ENTRY(1, m_szFirstName)
COLUMN_ENTRY(2, m_szLastName)
END_ACCESSOR()
BEGIN_ACCESSOR(1, false) // Not an auto accessor
COLUMN_ENTRY(3, m_nAge)
END_ACCESSOR()
END_ACCESSOR_MAP()
HRESULT OpenDataSource()
{
CDataSource _db;
_db.Open();
return m_session.Open(_db);
}
void CloseDataSource()
{
m_session.Close();
}
CSession m_session;
DEFINE_COMMAND_EX(CArtistsAccessor, L" \
SELECT \
FirstName, \
LastName, \
Age \
FROM Artists")
};
END_ACCESSOR
Contrassegna la fine di una voce della funzione di accesso.
Sintassi
END_ACCESSOR()
Osservazioni:
Per più funzioni di accesso in un set di righe, è necessario specificare BEGIN_ACCESSOR_MAP e usare la macro BEGIN_ACCESSOR per ogni singola funzione di accesso. La macro BEGIN_ACCESSOR viene completata con la macro END_ACCESSOR. La macro BEGIN_ACCESSOR_MAP viene completata con la macro END_ACCESSOR_MAP.
Esempio
Vedere BEGIN_ACCESSOR_MAP.
END_ACCESSOR_MAP
Contrassegna la fine delle voci della mappa della funzione di accesso.
Sintassi
END_ACCESSOR_MAP()
Osservazioni:
Per più funzioni di accesso in un set di righe, è necessario specificare BEGIN_ACCESSOR_MAP e usare la macro BEGIN_ACCESSOR per ogni singola funzione di accesso. La macro BEGIN_ACCESSOR viene completata con la macro END_ACCESSOR. La macro BEGIN_ACCESSOR_MAP viene completata con la macro END_ACCESSOR_MAP.
Esempio
Vedere BEGIN_ACCESSOR_MAP.
BEGIN_COLUMN_MAP
Segna l'inizio di una voce della mappa delle colonne.
Sintassi
BEGIN_COLUMN_MAP(x)
Parametri
x
[in] Il nome della classe di record utente derivata da CAccessor
.
Osservazioni:
Questa macro viene usata nel caso di un'unica funzione di accesso su un set di righe. Se ci sono più funzioni di accesso su un set di righe, usare BEGIN_ACCESSOR_MAP.
La macro BEGIN_COLUMN_MAP viene completata con la macro END_COLUMN_MAP. Questa macro viene usata quando è richiesta una sola funzione di accesso nel record utente.
Le colonne corrispondono ai campi nel set di righe che si desidera associare.
Esempio
Ecco un esempio di mappa delle colonne e dei parametri:
BLOB_ENTRY
Usato con BEGIN_COLUMN_MAP e END_COLUMN_MAP per associare un oggetto BLOB (Binary Large Object).
Sintassi
BLOB_ENTRY(nOrdinal, IID, flags, data)
Parametri
nOrdinal
[in] Numero di colonna.
IID
[in] GUID dell'interfaccia, ad esempio IDD_ISequentialStream
, usato per recuperare il BLOB.
flags
[in] Flag in modalità di archiviazione definiti dal modello OLE Structured Storage (ad esempio, STGM_READ
).
data
[in] Membro dati corrispondente nel record utente.
Esempio
Vedere Come è possibile recuperare un BLOB?
BLOB_ENTRY_LENGTH
Usato con BEGIN_COLUMN_MAP e END_COLUMN_MAP per associare un oggetto BLOB (Binary Large Object). Analogamente a BLOB_ENTRY, ad eccezione del fatto che questa macro ottiene anche la lunghezza in byte della colonna BLOB.
Sintassi
BLOB_ENTRY_LENGTH(nOrdinal, IID, flags, data, length)
Parametri
nOrdinal
[in] Numero di colonna.
IID
[in] GUID dell'interfaccia, ad esempio IDD_ISequentialStream
, usato per recuperare il BLOB.
flags
[in] Flag in modalità di archiviazione definiti dal modello OLE Structured Storage (ad esempio, STGM_READ
).
data
[in] Membro dati corrispondente nel record utente.
length
[out] Lunghezza (effettiva) in byte della colonna BLOB.
Esempio
Vedere Come è possibile recuperare un BLOB?
BLOB_ENTRY_LENGTH_STATUS
Usato con BEGIN_COLUMN_MAP e END_COLUMN_MAP per associare un oggetto BLOB (Binary Large Object). Analogamente a BLOB_ENTRY, ad eccezione del fatto che questa macro ottiene anche la lunghezza e lo stato della colonna BLOB.
Sintassi
BLOB_ENTRY_LENGTH_STATUS(
nOrdinal,
IID,
flags,
data,
length,
status )
Parametri
nOrdinal
[in] Numero di colonna.
IID
[in] GUID dell'interfaccia, ad esempio IDD_ISequentialStream
, usato per recuperare il BLOB.
flags
[in] Flag in modalità di archiviazione definiti dal modello OLE Structured Storage (ad esempio, STGM_READ
).
data
[in] Membro dati corrispondente nel record utente.
length
[out] Lunghezza (effettiva) in byte della colonna BLOB.
status
[out] Stato della colonna di dati BLOB.
Esempio
Vedere Come è possibile recuperare un BLOB?
BLOB_ENTRY_STATUS
Usato con BEGIN_COLUMN_MAP o BEGIN_ACCESSOR_MAP per associare un oggetto BLOB (Binary Large Object). Analogamente a BLOB_ENTRY, ad eccezione del fatto che questa macro ottiene anche lo stato della colonna BLOB.
Sintassi
BLOB_ENTRY_STATUS(nOrdinal, IID, flags, data, status)
Parametri
nOrdinal
[in] Numero di colonna.
IID
[in] GUID dell'interfaccia, ad esempio IDD_ISequentialStream
, usato per recuperare il BLOB.
flags
[in] Flag in modalità di archiviazione definiti dal modello OLE Structured Storage (ad esempio, STGM_READ
).
data
[in] Membro dati corrispondente nel record utente.
status
[out] Stato del campo BLOB.
Esempio
Vedere Come è possibile recuperare un BLOB?
BLOB_NAME
Usato con BEGIN_COLUMN_MAP e END_COLUMN_MAP per associare un oggetto BLOB (Binary Large Object). Analogamente a BLOB_ENTRY, ad eccezione del fatto che questa macro accetta un nome di colonna anziché un numero di colonna.
Sintassi
BLOB_NAME(pszName, IID, flags, data )
Parametri
pszName
[in] Puntatore al nome della colonna. Il nome deve essere una stringa Unicode. A tale scopo, inserire un 'L' davanti al nome, ad esempio : L"MyColumn"
.
IID
[in] GUID dell'interfaccia, ad esempio IDD_ISequentialStream
, usato per recuperare il BLOB.
flags
[in] Flag in modalità di archiviazione definiti dal modello OLE Structured Storage (ad esempio, STGM_READ
).
data
[in] Membro dati corrispondente nel record utente.
Esempio
Vedere Come è possibile recuperare un BLOB?
BLOB_NAME_LENGTH
Usato con BEGIN_COLUMN_MAP e END_COLUMN_MAP per associare un oggetto BLOB (Binary Large Object). Analogamente a BLOB_NAME, ad eccezione del fatto che questa macro ottiene anche la lunghezza in byte della colonna di dati BLOB.
Sintassi
BLOB_NAME_LENGTH(pszName, IID, flags, data, length )
Parametri
pszName
[in] Puntatore al nome della colonna. Il nome deve essere una stringa Unicode. A tale scopo, inserire un 'L' davanti al nome, ad esempio : L"MyColumn"
.
IID
[in] GUID dell'interfaccia, ad esempio IDD_ISequentialStream
, usato per recuperare il BLOB.
flags
[in] Flag in modalità di archiviazione definiti dal modello OLE Structured Storage (ad esempio, STGM_READ
).
data
[in] Membro dati corrispondente nel record utente.
length
[out] Lunghezza (effettiva) in byte della colonna BLOB.
BLOB_NAME_LENGTH_STATUS
Usato con BEGIN_COLUMN_MAP e END_COLUMN_MAP per associare un oggetto BLOB (Binary Large Object). Analogamente a BLOB_NAME, ad eccezione del fatto che questa macro ottiene anche la lunghezza e lo stato della colonna di dati BLOB.
Sintassi
BLOB_NAME_LENGTH_STATUS(pszName, IID, flags, data, length, status )
Parametri
pszName
[in] Puntatore al nome della colonna. Il nome deve essere una stringa Unicode. A tale scopo, inserire un 'L' davanti al nome, ad esempio : L"MyColumn"
.
IID
[in] GUID dell'interfaccia, ad esempio IDD_ISequentialStream
, usato per recuperare il BLOB.
flags
[in] Flag in modalità di archiviazione definiti dal modello OLE Structured Storage (ad esempio, STGM_READ
).
data
[in] Membro dati corrispondente nel record utente.
length
[out] Lunghezza (effettiva) in byte della colonna BLOB.
status
[out] Stato del campo BLOB.
BLOB_NAME_STATUS
Usato con BEGIN_COLUMN_MAP e END_COLUMN_MAP per associare un oggetto BLOB (Binary Large Object). Analogamente a BLOB_NAME, ad eccezione del fatto che questa macro ottiene anche lo stato della colonna di dati BLOB.
Sintassi
BLOB_NAME_STATUS(pszName, IID, flags, data, status )
Parametri
pszName
[in] Puntatore al nome della colonna. Il nome deve essere una stringa Unicode. A tale scopo, inserire un 'L' davanti al nome, ad esempio : L"MyColumn"
.
IID
[in] GUID dell'interfaccia, ad esempio IDD_ISequentialStream
, usato per recuperare il BLOB.
flags
[in] Flag in modalità di archiviazione definiti dal modello OLE Structured Storage (ad esempio, STGM_READ
).
data
[in] Membro dati corrispondente nel record utente.
status
[out] Stato del campo BLOB.
BOOKMARK_ENTRY
Associa la colonna del segnalibro.
Sintassi
BOOKMARK_ENTRY(variable)
Parametri
variable
[in] Variabile da associare alla colonna del segnalibro.
Esempio
class CArtistsBookmark
{
public:
// Data Elements
CBookmark<4> m_bookmark;
short m_nAge;
TCHAR m_szFirstName[21];
TCHAR m_szLastName[31];
// Output binding map
BEGIN_COLUMN_MAP(CArtistsBookmark)
BOOKMARK_ENTRY(m_bookmark)
COLUMN_ENTRY(1, m_nAge)
COLUMN_ENTRY(2, m_szFirstName)
COLUMN_ENTRY(3, m_szLastName)
END_COLUMN_MAP()
void GetRowsetProperties(CDBPropSet* pPropSet)
{
pPropSet->AddProperty(DBPROP_BOOKMARKS, true);
}
HRESULT OpenDataSource()
{
CDataSource _db;
_db.Open();
return m_session.Open(_db);
}
void CloseDataSource()
{
m_session.Close();
}
CSession m_session;
DEFINE_COMMAND_EX(CArtistsBookmark, L" \
SELECT \
Age, \
FirstName, \
LastName \
FROM Artists")
};
Per altre informazioni, vedere Uso di segnalibri e classe CBookmark.
COLUMN_ENTRY
Rappresenta un'associazione nel set di righe alla colonna specifica nel set di righe.
Sintassi
COLUMN_ENTRY(nOrdinal, data)
Parametri
Vedere DBBINDING nella guida di riferimento per programmatori OLE DB.
nOrdinal
[in] Numero di colonna.
data
[in] Membro dati corrispondente nel record utente.
Osservazioni:
La macro COLUMN_ENTRY viene utilizzata nelle posizioni seguenti:
Tra le macro BEGIN_COLUMN_MAP e END_COLUMN_MAP .
Tra le macro BEGIN_ACCESSOR e END_ACCESSOR .
Tra le macro BEGIN_PARAM_MAP e END_PARAM_MAP .
Esempio
Vedere gli esempi negli argomenti della macro, BEGIN_COLUMN_MAP e BEGIN_ACCESSOR_MAP.
COLUMN_ENTRY_EX
Rappresenta un'associazione sul rowset alla colonna specifica nel database.
Sintassi
COLUMN_ENTRY_EX(nOrdinal, wType, nLength, nPrecision, nScale, data, length, status)
Parametri
Vedere DBBINDING nella guida di riferimento per programmatori OLE DB.
nOrdinal
[in] Numero di colonna.
wType
[in] Tipo di dati.
nLength
[in] Dimensioni dei dati in byte.
nPrecision
[in] La precisione massima da usare quando si recuperano dati e wType è DBTYPE_NUMERIC
. In caso contrario, questo parametro viene ignorato.
nScale
[in] La scala da usare quando si recuperano dati e wType è DBTYPE_NUMERIC
o DBTYPE_DECIMAL
.
data
[in] Membro dati corrispondente nel record utente.
length
[in] Variabile da associare alla lunghezza della colonna.
status
[in] Variabile da associare allo stato della colonna.
Osservazioni:
La macro COLUMN_ENTRY_EX viene utilizzata nelle posizioni seguenti:
Tra le macro BEGIN_COLUMN_MAP e END_COLUMN_MAP .
Tra le macro BEGIN_ACCESSOR e END_ACCESSOR .
Tra le macro BEGIN_PARAM_MAP e END_PARAM_MAP .
Esempio
Vedere BOOKMARK_ENTRY.
COLUMN_ENTRY_LENGTH
Rappresenta un'associazione sul rowset alla colonna specifica nel database.
Sintassi
COLUMN_ENTRY_LENGTH(nOrdinal, data, length)
Parametri
Vedere DBBINDING nella guida di riferimento per programmatori OLE DB.
nOrdinal
[in] Numero di colonna, a partire da uno. Il segnalibro corrisponde alla colonna zero.
data
[in] Membro dati corrispondente nel record utente.
length
[in] Variabile da associare alla lunghezza della colonna.
Osservazioni:
Questa macro supporta la variabile di lunghezza . Viene utilizzata nelle seguenti posizioni:
Tra le macro BEGIN_COLUMN_MAP e END_COLUMN_MAP .
Tra le macro BEGIN_ACCESSOR e END_ACCESSOR .
Tra le macro BEGIN_PARAM_MAP e END_PARAM_MAP .
COLUMN_ENTRY_LENGTH_STATUS
Rappresenta un'associazione sul rowset alla colonna specifica nel database.
Sintassi
COLUMN_ENTRY_LENGTH_STATUS(nOrdinal, data, length, status)
Parametri
Vedere DBBINDING nella guida di riferimento per programmatori OLE DB.
nOrdinal
[in] Numero di colonna.
data
[in] Membro dati corrispondente nel record utente.
length
[in] Variabile da associare alla lunghezza della colonna.
status
[in] Variabile da associare allo stato della colonna.
Osservazioni:
Utilizzare questa macro quando si desidera supportare le variabili di stato e di lunghezza. Viene utilizzata nelle seguenti posizioni:
Tra le macro BEGIN_COLUMN_MAP e END_COLUMN_MAP .
Tra le macro BEGIN_ACCESSOR e END_ACCESSOR .
Tra le macro BEGIN_PARAM_MAP e END_PARAM_MAP .
COLUMN_ENTRY_PS
Rappresenta un'associazione nel set di righe alla colonna specifica nel set di righe.
Sintassi
COLUMN_ENTRY_PS(nOrdinal, nPrecision, nScale, data)
Parametri
Vedere DBBINDING nella guida di riferimento per programmatori OLE DB.
nOrdinal
[in] Numero di colonna.
nPrecision
[in] Precisione massima della colonna che si desidera associare.
nScale
[in] Scala della colonna che si desidera associare.
data
[in] Membro dati corrispondente nel record utente.
Osservazioni:
Consente di specificare la precisione e la scala della colonna che si desidera associare. Viene utilizzata nelle seguenti posizioni:
Tra le macro BEGIN_COLUMN_MAP e END_COLUMN_MAP .
Tra le macro BEGIN_ACCESSOR e END_ACCESSOR .
Tra le macro BEGIN_PARAM_MAP e END_PARAM_MAP .
COLUMN_ENTRY_PS_LENGTH
Rappresenta un'associazione sul rowset alla colonna specifica nel database.
Sintassi
COLUMN_ENTRY_PS_LENGTH(nOrdinal, nPrecision, nScale, data, length)
Parametri
Vedere DBBINDING nella guida di riferimento per programmatori OLE DB.
nOrdinal
[in] Numero di colonna, a partire da uno. Il segnalibro corrisponde alla colonna zero.
nPrecision
[in] Precisione massima della colonna che si desidera associare.
nScale
[in] Scala della colonna che si desidera associare.
data
[in] Membro dati corrispondente nel record utente.
length
[in] Variabile da associare alla lunghezza della colonna.
Osservazioni:
Consente di specificare la precisione e la scala della colonna che si desidera associare. Questa macro supporta la variabile di lunghezza . Viene utilizzata nelle seguenti posizioni:
Tra le macro BEGIN_COLUMN_MAP e END_COLUMN_MAP .
Tra le macro BEGIN_ACCESSOR e END_ACCESSOR .
Tra le macro BEGIN_PARAM_MAP e END_PARAM_MAP .
COLUMN_ENTRY_PS_LENGTH_STATUS
Rappresenta un'associazione sul rowset alla colonna specifica nel database.
Sintassi
COLUMN_ENTRY_PS_LENGTH_STATUS(nOrdinal, nPrecision, nScale, data, length, status)
Parametri
Vedere DBBINDING nella guida di riferimento per programmatori OLE DB.
nOrdinal
[in] Numero di colonna.
nPrecision
[in] Precisione massima della colonna che si desidera associare.
nScale
[in] Scala della colonna che si desidera associare.
data
[in] Membro dati corrispondente nel record utente.
length
[in] Variabile da associare alla lunghezza della colonna.
status
[in] Variabile da associare allo stato della colonna.
Osservazioni:
Consente di specificare la precisione e la scala della colonna che si desidera associare. Utilizzare questa macro quando si desidera supportare le variabili di stato e di lunghezza. Viene utilizzata nelle seguenti posizioni:
Tra le macro BEGIN_COLUMN_MAP e END_COLUMN_MAP .
Tra le macro BEGIN_ACCESSOR e END_ACCESSOR .
Tra le macro BEGIN_PARAM_MAP e END_PARAM_MAP .
COLUMN_ENTRY_PS_STATUS
Rappresenta un'associazione sul rowset alla colonna specifica nel database.
Sintassi
COLUMN_ENTRY_PS_STATUS(nOrdinal, nPrecision, nScale, data, status)
Parametri
Vedere DBBINDING nella guida di riferimento per programmatori OLE DB.
nOrdinal
[in] Numero di colonna.
nPrecision
[in] Precisione massima della colonna che si desidera associare.
nScale
[in] Scala della colonna che si desidera associare.
data
[in] Membro dati corrispondente nel record utente.
status
[in] Variabile da associare allo stato della colonna.
Osservazioni:
Consente di specificare la precisione e la scala della colonna che si desidera associare. Questa macro supporta la variabile di stato . Viene utilizzata nelle seguenti posizioni:
Tra le macro BEGIN_COLUMN_MAP e END_COLUMN_MAP .
Tra le macro BEGIN_ACCESSOR e END_ACCESSOR .
Tra le macro BEGIN_PARAM_MAP e END_PARAM_MAP .
COLUMN_ENTRY_STATUS
Rappresenta un'associazione sul rowset alla colonna specifica nel database.
Sintassi
COLUMN_ENTRY_STATUS(nOrdinal, data, status)
Parametri
Vedere DBBINDING nella guida di riferimento per programmatori OLE DB.
nOrdinal
[in] Numero di colonna.
data
[in] Membro dati corrispondente nel record utente.
status
[in] Variabile da associare allo stato della colonna.
Osservazioni:
Questa macro supporta la variabile di stato . Viene utilizzata nelle seguenti posizioni:
Tra le macro BEGIN_COLUMN_MAP e END_COLUMN_MAP .
Tra le macro BEGIN_ACCESSOR e END_ACCESSOR .
Tra le macro BEGIN_PARAM_MAP e END_PARAM_MAP .
COLUMN_ENTRY_TYPE
Rappresenta un'associazione alla colonna specifica nel database. Supporta il parametro di tipo .
Sintassi
COLUMN_ENTRY_TYPE (nOrdinal, wType, data)
Parametri
nOrdinal
[in] Numero di colonna.
wType
[in] Tipo di dati della voce di colonna.
data
[in] Membro dati corrispondente nel record utente.
Osservazioni:
Questa macro è una variante specializzata della macro COLUMN_ENTRY che fornisce un mezzo per specificare il tipo di dati.
COLUMN_ENTRY_TYPE_SIZE
Rappresenta un'associazione alla colonna specifica nel database. Supporta parametri di tipo e dimensioni .
Sintassi
COLUMN_ENTRY_TYPE_SIZE(nOrdinal, wType, nLength, data)
Parametri
nOrdinal
[in] Numero di colonna.
wType
[in] Tipo di dati della voce di colonna.
nLength
[in] Dimensione della voce di colonna in byte.
data
[in] Membro dati corrispondente nel record utente.
Osservazioni:
Questa macro è una variante specializzata della macro COLUMN_ENTRY che consente di specificare le dimensioni e il tipo di dati.
COLUMN_NAME
Rappresenta un'associazione nel set di righe alla colonna specifica nel set di righe. Analogamente a COLUMN_ENTRY, ad eccezione del fatto che questa macro accetta il nome della colonna anziché il numero di colonna.
Sintassi
COLUMN_NAME(pszName, data)
Parametri
pszName
[in] Puntatore al nome della colonna. Il nome deve essere una stringa Unicode. A tale scopo, inserire un 'L' davanti al nome, ad esempio : L"MyColumn"
.
data
[in] Membro dati corrispondente nel record utente.
Osservazioni:
Le macro COLUMN_NAME_* vengono usate nelle stesse posizioni di COLUMN_ENTRY:
Tra le macro BEGIN_COLUMN_MAP e END_COLUMN_MAP .
Tra le macro BEGIN_ACCESSOR e END_ACCESSOR .
Tra le macro BEGIN_PARAM_MAP e END_PARAM_MAP .
COLUMN_NAME_EX
Rappresenta un'associazione nel set di righe alla colonna specifica nel set di righe. Analogamente a COLUMN_NAME, ad eccezione del fatto che questa macro accetta anche il tipo di dati, le dimensioni, la precisione, la scala, la lunghezza della colonna e lo stato della colonna.
Sintassi
COLUMN_NAME_EX(pszName, wType, nLength, nPrecision, nScale, data, length, status )
Parametri
pszName
[in] Puntatore al nome della colonna. Il nome deve essere una stringa Unicode. A tale scopo, inserire un 'L' davanti al nome, ad esempio : L"MyColumn"
.
wType
[in] Tipo di dati.
nLength
[in] Dimensioni dei dati in byte.
nPrecision
[in] La precisione massima da usare quando si recuperano dati e wType è DBTYPE_NUMERIC
. In caso contrario, questo parametro viene ignorato.
nScale
[in] La scala da usare quando si recuperano dati e wType è DBTYPE_NUMERIC
o DBTYPE_DECIMAL
.
data
[in] Membro dati corrispondente nel record utente.
length
[in] Variabile da associare alla lunghezza della colonna.
status
[in] Variabile da associare allo stato della colonna.
Osservazioni:
Vedere COLUMN_NAME per informazioni sulla posizione in cui vengono usate le macro COLUMN_NAME_*.
COLUMN_NAME_LENGTH
Rappresenta un'associazione nel set di righe alla colonna specifica nel set di righe. Analogamente a COLUMN_NAME, ad eccezione del fatto che questa macro accetta anche la lunghezza della colonna.
Sintassi
COLUMN_NAME_LENGTH(pszName, data, length)
Parametri
pszName
[in] Puntatore al nome della colonna. Il nome deve essere una stringa Unicode. A tale scopo, inserire un 'L' davanti al nome, ad esempio : L"MyColumn"
.
data
[in] Membro dati corrispondente nel record utente.
length
[in] Variabile da associare alla lunghezza della colonna.
Osservazioni:
Vedere COLUMN_NAME per informazioni sulla posizione in cui vengono usate le macro COLUMN_NAME_*.
COLUMN_NAME_LENGTH_STATUS
Rappresenta un'associazione nel set di righe alla colonna specifica nel set di righe. Analogamente a COLUMN_NAME, ad eccezione del fatto che questa macro accetta anche la lunghezza della colonna e lo stato della colonna.
Sintassi
COLUMN_NAME_LENGTH_STATUS(pszName, data, length, status )
Parametri
pszName
[in] Puntatore al nome della colonna. Il nome deve essere una stringa Unicode. A tale scopo, inserire un 'L' davanti al nome, ad esempio : L"MyColumn"
.
data
[in] Membro dati corrispondente nel record utente.
length
[in] Variabile da associare alla lunghezza della colonna.
status
[in] Variabile da associare allo stato della colonna.
Osservazioni:
Vedere COLUMN_NAME per informazioni sulla posizione in cui vengono usate le macro COLUMN_NAME_*.
COLUMN_NAME_PS
Rappresenta un'associazione nel set di righe alla colonna specifica nel set di righe. Analogamente a COLUMN_NAME, ad eccezione del fatto che questa macro accetta anche precisione e scala.
Sintassi
COLUMN_NAME_PS(pszName, nPrecision, nScale, data )
Parametri
pszName
[in] Puntatore al nome della colonna. Il nome deve essere una stringa Unicode. A tale scopo, inserire un 'L' davanti al nome, ad esempio : L"MyColumn"
.
nPrecision
[in] Precisione massima della colonna che si desidera associare.
nScale
[in] Scala della colonna che si desidera associare.
data
[in] Membro dati corrispondente nel record utente.
Osservazioni:
Vedere COLUMN_NAME per informazioni sulla posizione in cui vengono usate le macro COLUMN_NAME_*.
COLUMN_NAME_PS_LENGTH
Rappresenta un'associazione nel set di righe alla colonna specifica nel set di righe. Analogamente a COLUMN_NAME, ad eccezione del fatto che questa macro accetta anche precisione, scala e lunghezza della colonna.
Sintassi
COLUMN_NAME_PS_LENGTH(pszName, nPrecision, nScale, data, length )
Parametri
pszName
[in] Puntatore al nome della colonna. Il nome deve essere una stringa Unicode. A tale scopo, inserire un 'L' davanti al nome, ad esempio : L"MyColumn"
.
nPrecision
[in] Precisione massima della colonna che si desidera associare.
nScale
[in] Scala della colonna che si desidera associare.
data
[in] Membro dati corrispondente nel record utente.
length
[in] Variabile da associare alla lunghezza della colonna.
Osservazioni:
Vedere COLUMN_NAME per informazioni sulla posizione in cui vengono usate le macro COLUMN_NAME_*.
COLUMN_NAME_PS_LENGTH_STATUS
Rappresenta un'associazione nel set di righe alla colonna specifica nel set di righe. Analogamente a COLUMN_NAME, ad eccezione del fatto che questa macro accetta anche precisione, scala, lunghezza colonna e stato della colonna.
Sintassi
COLUMN_NAME_PS_LENGTH_STATUS(pszName, nPrecision, nScale, data, length, status )
Parametri
pszName
[in] Puntatore al nome della colonna. Il nome deve essere una stringa Unicode. A tale scopo, inserire un 'L' davanti al nome, ad esempio : L"MyColumn"
.
nPrecision
[in] Precisione massima della colonna che si desidera associare.
nScale
[in] Scala della colonna che si desidera associare.
data
[in] Membro dati corrispondente nel record utente.
length
[in] Variabile da associare alla lunghezza della colonna.
status
[in] Variabile da associare allo stato della colonna.
Osservazioni:
Vedere COLUMN_NAME per informazioni sulla posizione in cui vengono usate le macro COLUMN_NAME_*.
COLUMN_NAME_PS_STATUS
Rappresenta un'associazione nel set di righe alla colonna specifica nel set di righe. Analogamente a COLUMN_NAME, ad eccezione del fatto che questa macro accetta anche precisione, scala e stato della colonna.
Sintassi
COLUMN_NAME_PS_STATUS(pszName, nPrecision, nScale, data, status )
Parametri
pszName
[in] Puntatore al nome della colonna. Il nome deve essere una stringa Unicode. A tale scopo, inserire un 'L' davanti al nome, ad esempio : L"MyColumn"
.
nPrecision
[in] Precisione massima della colonna che si desidera associare.
nScale
[in] Scala della colonna che si desidera associare.
data
[in] Membro dati corrispondente nel record utente.
status
[in] Variabile da associare allo stato della colonna.
Osservazioni:
Vedere COLUMN_NAME per informazioni sulla posizione in cui vengono usate le macro COLUMN_NAME_*.
COLUMN_NAME_STATUS
Rappresenta un'associazione nel set di righe alla colonna specifica nel set di righe. Analogamente a COLUMN_NAME, ad eccezione del fatto che questa macro accetta anche lo stato della colonna.
Sintassi
COLUMN_NAME_STATUS(pszName, data, status )
Parametri
pszName
[in] Puntatore al nome della colonna. Il nome deve essere una stringa Unicode. A tale scopo, inserire un 'L' davanti al nome, ad esempio : L"MyColumn"
.
data
[in] Membro dati corrispondente nel record utente.
status
[in] Variabile da associare allo stato della colonna.
Osservazioni:
Vedere COLUMN_NAME per informazioni sulla posizione in cui vengono usate le macro COLUMN_NAME_*.
COLUMN_NAME_TYPE
Rappresenta un'associazione nel set di righe alla colonna specifica nel set di righe. Analogamente a COLUMN_NAME, ad eccezione del fatto che questa macro accetta anche il tipo di dati.
Sintassi
COLUMN_NAME_TYPE(pszName, wType, data)
Parametri
pszName
[in] Puntatore al nome della colonna. Il nome deve essere una stringa Unicode. A tale scopo, inserire un 'L' davanti al nome, ad esempio : L"MyColumn"
.
wType
[in] Tipo di dati.
data
[in] Membro dati corrispondente nel record utente.
Osservazioni:
Vedere COLUMN_NAME per informazioni sulla posizione in cui vengono usate le macro COLUMN_NAME_*.
COLUMN_NAME_TYPE_PS
Rappresenta un'associazione nel set di righe alla colonna specifica nel set di righe. Analogamente a COLUMN_NAME, ad eccezione del fatto che questa macro accetta anche il tipo di dati, la precisione e la scala.
Sintassi
COLUMN_NAME_TYPE_PS(pszName, wType, nPrecision, nScale, data)
Parametri
pszName
[in] Puntatore al nome della colonna. Il nome deve essere una stringa Unicode. A tale scopo, inserire un 'L' davanti al nome, ad esempio : L"MyColumn"
.
wType
[in] Tipo di dati.
nPrecision
[in] La precisione massima da usare quando si recuperano dati e wType è DBTYPE_NUMERIC
. In caso contrario, questo parametro viene ignorato.
nScale
[in] La scala da usare quando si recuperano dati e wType è DBTYPE_NUMERIC
o DBTYPE_DECIMAL
.
data
[in] Membro dati corrispondente nel record utente.
Osservazioni:
Vedere COLUMN_NAME per informazioni sulla posizione in cui vengono usate le macro COLUMN_NAME_*.
COLUMN_NAME_TYPE_SIZE
Rappresenta un'associazione nel set di righe alla colonna specifica nel set di righe. Analogamente a COLUMN_NAME, ad eccezione del fatto che questa macro accetta anche il tipo di dati e le dimensioni.
Sintassi
COLUMN_NAME_TYPE_SIZE(pszName, wType, nLength, data)
Parametri
pszName
[in] Puntatore al nome della colonna. Il nome deve essere una stringa Unicode. A tale scopo, inserire un 'L' davanti al nome, ad esempio : L"MyColumn"
.
wType
[in] Tipo di dati.
nLength
[in] Dimensioni dei dati in byte.
data
[in] Membro dati corrispondente nel record utente.
Osservazioni:
Vedere COLUMN_NAME per informazioni sulla posizione in cui vengono usate le macro COLUMN_NAME_*.
COLUMN_NAME_TYPE_STATUS
Rappresenta un'associazione nel set di righe alla colonna specifica nel set di righe. Analogamente a COLUMN_NAME, ad eccezione del fatto che questa macro accetta anche il tipo di dati e lo stato della colonna.
Sintassi
COLUMN_NAME_TYPE_STATUS(pszName, wType, status, data)
Parametri
pszName
[in] Puntatore al nome della colonna. Il nome deve essere una stringa Unicode. A tale scopo, inserire un 'L' davanti al nome, ad esempio : L"MyColumn"
.
wType
[in] Tipo di dati.
status
[in] Variabile da associare allo stato della colonna.
data
[in] Membro dati corrispondente nel record utente.
Osservazioni:
Vedere COLUMN_NAME per informazioni sulla posizione in cui vengono usate le macro COLUMN_NAME_*.
END_COLUMN_MAP
Contrassegna la fine delle voci della mappa delle colonne.
Sintassi
END_COLUMN_MAP()
Osservazioni:
Viene usato con una singola funzione di accesso in un set di righe. La macro BEGIN_COLUMN_MAP viene completata con la macro END_COLUMN_MAP.
Esempio
Vedere BEGIN_COLUMN_MAP.
DEFINE_COMMAND
Specifica il comando che verrà usato per creare il set di righe quando si usa la classe CCommand . Accetta solo tipi stringa corrispondenti al tipo di applicazione specificato (ANSI o Unicode).
Nota
È consigliabile usare DEFINE_COMMAND_EX anziché DEFINE_COMMAND.
Sintassi
DEFINE_COMMAND(x, szCommand)
Parametri
x
[in] Nome della classe record utente (comando).
szCommand
[in] Stringa di comando che verrà usata per creare il set di righe quando si usa CCommand.
Osservazioni:
La stringa di comando specificata verrà usata come predefinita se non si specifica il testo del comando nel metodo CCommand::Open .
Questa macro accetta stringhe ANSI se si compila l'applicazione come stringhe ANSI o Unicode se si compila l'applicazione come Unicode. È consigliabile usare DEFINE_COMMAND_EX anziché DEFINE_COMMAND, perché il primo accetta stringhe Unicode, indipendentemente dal tipo di applicazione ANSI o Unicode.
Esempio
Vedere BOOKMARK_ENTRY.
DEFINE_COMMAND_EX
Specifica il comando che verrà usato per creare il set di righe quando si usa la classe CCommand . Supporta applicazioni Unicode e ANSI.
Sintassi
DEFINE_COMMAND_EX(x, wszCommand)
Parametri
x
[in] Nome della classe record utente (comando).
wszCommand
[in] Stringa di comando che verrà usata per creare il set di righe quando si usa CCommand.
Osservazioni:
La stringa di comando specificata verrà usata come predefinita se non si specifica il testo del comando nel metodo CCommand::Open .
Questa macro accetta stringhe Unicode, indipendentemente dal tipo di applicazione. Questa macro è preferibile rispetto DEFINE_COMMAND perché supporta Unicode e le applicazioni ANSI.
Esempio
Vedere BOOKMARK_ENTRY.
BEGIN_PARAM_MAP
Contrassegna l'inizio delle voci della mappa dei parametri.
Sintassi
BEGIN_PARAM_MAP(x)
Parametri
x
[in] Nome della classe di record utente.
Osservazioni:
I parametri vengono usati dai comandi.
Esempio
Vedere l'esempio per la macro BEGIN_COLUMN_MAP .
END_PARAM_MAP
Contrassegna la fine delle voci della mappa dei parametri.
Sintassi
END_PARAM_MAP()
Esempio
Vedere l'esempio per la macro BEGIN_PARAM_MAP .
SET_PARAM_TYPE
Specifica COLUMN_ENTRY macro che seguono l'input, l'output o l'input/output della macro SET_PARAM_TYPE.
Sintassi
SET_PARAM_TYPE(type)
Parametri
type
[in] Tipo da impostare per il parametro.
Osservazioni:
I provider supportano solo i tipi di parametro input/output supportati dall'origine dati sottostante. Il tipo è una combinazione di uno o più DBPARAMIO
valori (vedere Strutture DBBINDING nella Guida di riferimento per programmatori OLE DB):
DBPARAMIO_NOTPARAM
La funzione di accesso non ha parametri. In genere, questo valore viene impostatoeParamIO
nelle funzioni di accesso alle righe per ricordare all'utente che i parametri vengono ignorati.DBPARAMIO_INPUT
Parametro di input.DBPARAMIO_OUTPUT
Parametro di output.DBPARAMIO_INPUT | DBPARAMIO_OUTPUT
Il parametro è sia un input che un parametro di output.
Esempio
class CArtistsProperty
{
public:
short m_nReturn;
short m_nAge;
TCHAR m_szFirstName[21];
TCHAR m_szLastName[31];
BEGIN_PARAM_MAP(CArtistsProperty)
SET_PARAM_TYPE(DBPARAMIO_OUTPUT)
COLUMN_ENTRY(1, m_nReturn)
SET_PARAM_TYPE(DBPARAMIO_INPUT)
COLUMN_ENTRY(2, m_nAge)
END_PARAM_MAP()
BEGIN_COLUMN_MAP(CArtistsProperty)
COLUMN_ENTRY(1, m_szFirstName)
COLUMN_ENTRY(2, m_szLastName)
END_COLUMN_MAP()
HRESULT OpenDataSource()
{
CDataSource _db;
_db.Open();
return m_session.Open(_db);
}
void CloseDataSource()
{
m_session.Close();
}
CSession m_session;
DEFINE_COMMAND_EX(CArtistsProperty, L" \
{ ? = SELECT Age FROM Artists WHERE Age < ? }")
};
Requisiti
Intestazione: atldbcli.h
Vedi anche
Macro e funzioni globali per modelli consumer OLE DB
Modelli di consumer OLE DB
Riferimenti ai modelli consumer OLE DB