2013-06-11 1 views
2

У меня есть набор данных, содержащий 1 таблицу, где я хочу перебирать цикл по таблице.Как получить тип данных столбца таблицы Dataset в C#

Внутри цикла я хочу проверить, если столбец 1 является типом даты, выйдите из этого столбца и перейдите к следующему столбцу. Пожалуйста, помогите мне.

excelConnection = new OleDbConnection(connectionString); 
         //Get the name of First Sheet 
excelConnection.Open(); 


excelSheet = excelConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); 

string sheetName = excelSheet.Rows[0]["TABLE_NAME"].ToString(); 
excelConnection.Close(); 

string query = "SELECT * FROM [" + sheetName + "]"; 

excelCommand = new OleDbCommand(query, excelConnection); 
excelDataAdapter = new OleDbDataAdapter(excelCommand); 

excelDataAdapter.Fill(excelData); 

Заранее спасибо.

ответ

1

Попробуйте этот код, чтобы получить Datatype из Dataset столбца таблицы:

if (Dataset1.Tables[0].Columns[1].ColumnName.ToLower().Contains("date") || Dataset1.Tables[0].Columns[1].DataType.ToString() == "System.DateTime")        
{ 
    //Do work; 
} 

Надеюсь, вам понравится.

+1

@ ответ MLG является лучше. –

2

Попробуйте это:

 
      DataSet ds = new DataSet(); 
      DataTable dt = ds.Tables[0]; 

       foreach (DataColumn dc in dt.Columns) 
       { 
        Console.WriteLine(dc.DataType); 
       } 

Для проверки типов данных можно также выполнить следующие в цикле, даже для других типов данных ..

 

        if(dc.DataType == typeof(System.Decimal)) 
        { 

        } 
        else if (dc.DataType == typeof(System.DateTime)) 
        { 

        } 
        else if (dc.DataType == typeof(System.String)) 
        { 

        }
8
foreach (DataColumn col in dt.Columns) 
    { 
      if (col.DataType == typeof(DateTime)) continue; 
      //Execute business logic for other columns 
    } 
+0

+1. Это способ сделать это. –

+0

@MitchWheat - Спасибо! – mlg

+0

@mlg У меня есть только DataSet и DataView. Любой способ использовать их вместо данных? – SearchForKnowledge

Смежные вопросы