Ottenere valore dal campo in DataTable quando il nome di colonna ha spazi
-
18-09-2019 - |
Domanda
ho provato:
ObjDTOleDBNFeIntegra.Rows(I)("[Cnpj Cpf]").ToString() //with brackets
ObjDTOleDBNFeIntegra.Rows(I)("'Cnpj Cpf'").ToString() //with apostrophe
ObjDTOleDBNFeIntegra.Rows(I)("Cnpj Cpf").ToString() //without anything
sto usando VB.NET, ma i commenti con gli apostrofi in qui non sembrano essere identificato.
E ho le eccezioni per ogni caso:
Colonna '[CNPJ Cpf]' non appartiene alla tabella Table. (fail)
Colonna 'CNPJ Cpf' non appartiene alla tabella Table. (fail)
colonna '' CNPJ Cpf '' non appartiene alla tabella Table. (fail)
Cosa devo fare per ger un valore da un campo in un DataTable, quando il nome di colonna ha spazi?
Soluzione
Avete controllato ciò che il Colonna pensa si chiama? Si potrebbe avere sottolineatura, per esempio. Loop sopra le colonne e scoprire (mi dispiace, esempi in C #):
foreach(DataColumn col in table.Columns) {
Debug.WriteLine(col.ColumnName);
}
In realtà, è più veloce di utilizzare la colonna se si sta facendo in un ciclo, quindi potrei usare qualcosa come:
DataColumn col = table.Columns["whatever"];
foreach(DataRow row in table.Rows) {
Console.WriteLine(row[col]);
}