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?

È stato utile?

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]);
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top