C# 如何在C中获取数据集表列数据类型#

C# 如何在C中获取数据集表列数据类型#,c#,C#,我有一个数据集,其中包含一个表,我想在该表上迭代循环 在循环中,我想检查第1列是否为日期类型。请转义该列并移到下一列。请帮助我 excelConnection = new OleDbConnection(connectionString); //Get the name of First Sheet excelConnection.Open(); excelSheet = excelConnection.GetOleDbSchemaTable(

我有一个数据集,其中包含一个表,我想在该表上迭代循环

在循环中,我想检查第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);

提前感谢。

请尝试以下代码以获取数据集表列的数据类型:

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

试试这个:

DataSet ds = new DataSet(); DataTable dt = ds.Tables[0]; foreach (DataColumn dc in dt.Columns) { Console.WriteLine(dc.DataType); } 数据集ds=新数据集(); DataTable dt=ds.表[0]; foreach(数据列dc在dt.列中) { Console.WriteLine(dc.DataType); } 要检查数据类型,您还可以在循环中执行以下操作,即使对于其他数据类型也是如此

if(dc.DataType == typeof(System.Decimal)) { } else if (dc.DataType == typeof(System.DateTime)) { } else if (dc.DataType == typeof(System.String)) { } if(dc.DataType==typeof(System.Decimal)) { } else if(dc.DataType==typeof(System.DateTime)) { } else if(dc.DataType==typeof(System.String)) {
}@mlg我只有一个数据集和数据视图。有没有办法用它们来代替数据表?
   foreach (DataColumn col in dt.Columns)
     {
          if (col.DataType == typeof(DateTime)) continue;
          //Execute business logic for other columns
     }