Scopo
Questa funzione restituisce una istanza della classe RecordsetMetaData tramite la quale è possibile ottenere informazioni riguardo la struttura dei dati contenuti nel recordset. Può essere utilizzata, per esempio, per sapere il tipo di dato di ognuna delle colonne del recordset.
Sintassi
RecordsetMetaData MD = null
//
MD := recordset.GetMetaData()
//
MD := recordset.GetMetaData()
Argomenti
Questa funzione non ha argomenti.Valore di ritorno
Viene ritornato un oggetto di tipo RecordSetMetaData tramite il quale è possibile conoscere la struttura dei dati contenuti nel Recordset.
Esempio di codice
else // La query ha restituito almeno un record
{
int f = 0 //
IDPanel pannello = null //
RecordsetMetaData rsmd = null //
//
// Recupero il metaschema
rsmd := recorset.GetMetaData()
//
// Mostro la pagina del risultato tabellare
Messaggio.Messaggio := Empty String
Risultati.SelectPage(Tabella.Me())
Tabella.Visible := True
//
recorset.MoveFirst()
while NOT(recorset.EOF())
...
pannello := Tabella.IDPanel()
//
f := ZERO
while f < pannello.FieldsCount()
{
if f + ONE <= recorset.FieldCount()
{
pannello.SetFieldVisible(f, True)
pannello.SetFieldCaption(f, recorset.FieldName(f + ONE))
//
// Se è un campo numerico lo allineo a destra
if Decode(rsmd.GetFieldType(f + ONE), Numerici) <> Empty String
{
pannello.SetFieldVisualStyle(f, AllineatoADestra)
}
}
else
{
pannello.SetFieldVisible(f, False)
}
f := f + ONE
}
}
{
int f = 0 //
IDPanel pannello = null //
RecordsetMetaData rsmd = null //
//
// Recupero il metaschema
rsmd := recorset.GetMetaData()
//
// Mostro la pagina del risultato tabellare
Messaggio.Messaggio := Empty String
Risultati.SelectPage(Tabella.Me())
Tabella.Visible := True
//
recorset.MoveFirst()
while NOT(recorset.EOF())
...
pannello := Tabella.IDPanel()
//
f := ZERO
while f < pannello.FieldsCount()
{
if f + ONE <= recorset.FieldCount()
{
pannello.SetFieldVisible(f, True)
pannello.SetFieldCaption(f, recorset.FieldName(f + ONE))
//
// Se è un campo numerico lo allineo a destra
if Decode(rsmd.GetFieldType(f + ONE), Numerici) <> Empty String
{
pannello.SetFieldVisualStyle(f, AllineatoADestra)
}
}
else
{
pannello.SetFieldVisible(f, False)
}
f := f + ONE
}
}
Ultima modifica: 25/10/2016 / Validità: da 8.0.3560