获取datatable中列的数据类型

时间:2015-08-31 09:59:08

标签: c# datatable

我正在尝试获取datatable的dataType,代码是

 for (int j = 0; j < dt.Columns.Count; j++)
 {
       columntypes[j] = dt.Columns[j].GetType().Name;//dt.Rows[0][j].GetType().Name;
 } 

选中dt.Rows[0][j].GetType().Name;工作正常。但是如果空数据表出现错误,那么我尝试使用dt.Columns[j].GetType().Name;但它没有给出正确的解决方案

3 个答案:

答案 0 :(得分:1)

您可以尝试这样:

 [[UIApplication sharedApplication] cancelAllLocalNotifications];

即,您需要使用DataType property

答案 1 :(得分:0)

DataTable.Columns属性是一个DataColumnCollection,可以通过列名索引以获取DataColumn,它具有DataType属性。 或者您可以这样做:

SqlCommand cmd = connection.CreateCommand(); 
cmd.CommandText = "SET FMTONLY ON; select column from table; SET FMTONLY OFF"; 
SqlDataReader reader = cmd.ExecuteReader();
SqlDbType type = (SqlDbType)(int)reader.GetSchemaTable().Rows[0] ["ProviderType"];

答案 2 :(得分:0)

您也可以这样使用:

 int j=0;
 foreach (DataColumn dc in DT.Columns)
    {
       columntypes[j++] = dc.DataType.Name.ToString();  
    }