Scopo
Ritorna il numero di colonne presenti nel Recordset.
Può essere utilizzata qualora si desideri navigare il recordset senza sapere a priori la sua struttura. La funzione GetColumnCount, infatti, può essere usata in un ciclo per girare su tutte le colonne del Recordset.
Sintassi
int count = 0 //
//
count := RecordsetMetaData.GetColumnCount()
//
count := RecordsetMetaData.GetColumnCount()
Argomenti
Questa funzione non ha argomenti.Valore di ritorno
Viene ritornato un intero rappresentante il numero di colonne del 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 <= rsmd.GetColumnCount()
{
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 <= rsmd.GetColumnCount()
{
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: 09/03/2009 / Validità: da 8.0.3560