Как динамически изменить тип данных datacolumn в ASP.NET с#?
Я создаю datatable динамически. Я добавляю тип данных и имя столбца из БД, но я получаю проблему "не могу изменить тип данных столбца, как только столбец содержит данные" при извлечении Int32 /double типа данных из БД при динамическом создании таблицы данных
Что я уже пробовал:
StreamReader Rep001Stream = new StreamReader(filePath); try { if (dsStdRep001SchemaDetails.Tables[0].Rows.Count > 0) { string[] words; DataRow row=null; try { string Rep001Record = ""; while (!Rep001Stream.EndOfStream) { Rep001Record = Rep001Stream.ReadLine(); for (int i = 0; i < dsStdRep001SchemaDetails.Tables[0].Rows.Count; i++) { int temp = i; System.Data.DataTable dtTemp1 = new System.Data.DataTable(); dtTemp1.Columns.Add(new DataColumn("Column" + i)); dtRep001.Columns[i].DataType = System.Type.GetType("System." + dsStdRep001SchemaDetails.Tables[0].Rows[i]["ColumnType"].ToString()); dtRep001.Columns[i].ColumnName = dsStdRep001SchemaDetails.Tables[0].Rows[i]["ColumnName"].ToString(); string ColumnId = dtRep001.Columns[i].ColumnName.ToString(); words = Rep001Record.Split(','); if (words[0] != STR_RPT_END) { if (i == 0) { row = dtRep001.NewRow(); dtRep001.Rows.Add(row); } // row[ColumnId] = words[i].Trim(); } } } } catch (Exception ex) { } } Rep001Stream.Close(); Rep001Stream.Dispose(); } catch (Exception ex) { objFileDetails.Status = "E"; objFileDetails.ErrorDescription = ex.Message; bool Succeeded = SaveFile(objFileDetails); Common.WriteLogService("Error : " + ex.Message, ex.StackTrace, true); Rep001Stream.Close(); Rep001Stream.Dispose(); }