Добрый день!
Есть некая функция:
public List<List<string>> DateToLis(string date)
{
DataTable dt = Get("SELECT service.FullName,asuiogv.fl_req_peper + asuiogv.fl_req_other,asuiogv.fl_req_epgu,asuiogv.fl_req_email,asuiogv.fl_req_ved,asuiogv.fl_z_peper + asuiogv.fl_z_other,asuiogv.fl_z_epgu,asuiogv.fl_z_email,asuiogv.fl_z_ved,asuiogv.ul_req_peper + asuiogv.ul_req_other,asuiogv.ul_req_epgu,asuiogv.ul_req_email,asuiogv.ul_req_ved,asuiogv.ul_z_peper + asuiogv.ul_z_other,asuiogv.ul_z_epgu,asuiogv.ul_z_email,asuiogv.ul_z_ved FROM asuiogv INNER JOIN service ON service.id = asuiogv.id_service where period='" + date + "';");
List<List<string>> data = new List<List<string>>();
for (int i = 0; i < dt.Rows.Count-1; i++)
{
List<string> list = new List<string>();
for (int j = 0; j < dt.Columns.Count-1; j++)
{
list.Add(dt.Rows[i].Field<string>(dt.Columns[j].Caption));//здесь необходимо за место string автоматически подбирать тип данных в зависимости от БД
}
data.Add(list);
}
return data;
}
необходимо зделать так что бы в строке
list.Add(dt.Rows[i].Field<string>(dt.Columns[j].Caption));
string менялось в зависимости от данных таблицы, т.е. Int64, int или string.
Думал в сторону
TypeCode tc=Type.GetTypeCode(dt.Columns[dt.Columns[j].Caption)].DataType);
но при подстановке вместо string выдает ошибку.
Какое решение можно найти в данном случаи?