2012-01-19 4 views

risposta

8
dt.Columns[8].ColumnName = "regnum"; 

Questo solo si lega il tuo Columns[8] alla colonna inesistente "regnum" nel DB.

Se si desidera rinominare la colonna Db effettiva, eseguire uno script SQL.

Ma la mia ipotesi è che in realtà desidera modificare la didascalia:

dt.Columns[8].Caption = "regnum"; 
+0

Hmmmm, si tratta di una stored procedure che restituiscono dati senza nomi specifici: come questo '(espressione) (espressione) .... ' –

+0

per favore, potresti spiegare di più cosa vuoi dire? –

9

Di seguito è riportato l'esempio:

DataTable Dt = new DataTable(); 
DataColumn Dc = new DataColumn("Name"); 
DataColumn Dc1 = new DataColumn("ID"); 
Dt.Columns.Add(Dc); 
Dt.Columns.Add(Dc1); 

DataRow dr = Dt.NewRow(); 
dr["name"] = "1"; 
dr["ID"] = "111"; 
Dt.Rows.Add(dr); 

dr = Dt.NewRow(); 
dr["name"] = "2"; 
dr["ID"] = "11112"; 
Dt.Rows.Add(dr); 

Dt.Columns[0].ColumnName = "ddsxsd"; 
Dt.AcceptChanges(); 

non ho trovato alcuna perdita di dati !!!!!!!! Perché cambierà semplicemente il nome della colonna.

EDIT

si può anche portare i vostri nomi di colonna desiderati dai vostri stored procedure.

0

Prova questo:

dataTable.Columns["ExistingColumnName"].ColumnName = "regnum";