C'è un modo per conoscere il tipo esatto di una colonna in un DataTable
? In questo momento sto facendo questo:Come ottenere il tipo esatto di colonne numeriche incl. scala e precisione?
DataTable st = dataReader.GetSchemaTable();
foreach (DataColumn col in st.Columns)
{
var type = col.DataType;
}
Ora con type.Name
sono in grado di trovare se si tratta di un numero (o int
decimal
..) oppure string
ma il problema è che ho bisogno l'esatto tipo, ad esempio se nel database diciamo che la colonna Rate
è NUMBER(4,3)
quindi qui nel mio codice sto ricevendo solo il tipo "Decimale" e nessuna informazione sul formato 4,3
.
Ora il requisito è che ho bisogno di formattare i valori secondo il loro tipo per es. se Rate=1.4
deve essere visualizzato come 0001.400
(in base al formato). Quindi, poiché non ho informazioni, non sono in grado di elaborare ulteriormente i valori. C'è comunque da sapere lo stesso?
Grazie
http://msdn.microsoft.com/en-IN/library/system.data.datacolumn.datatype.aspx – Bharadwaj
ciclo throught ogni riga alias DataRow e l'utilizzo reflection getType of individual .. –
È necessario esaminare gli attributi aggiuntivi sulla colonna per determinarlo con precisione. Ad esempio, consulta le proprietà NumericPrecision e NumericScale http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader.getschematable%28v=vs.110%29.aspx – dmarietta