DataTable オブジェクトがあり、その Columns コレクションにアクセスできます。このコレクションの各項目について、列の型を決定し、次のいずれかの文字列として返す必要があります: 'string' 'number' 'boolean' 'date' 'datetime' 'timeofday'.
だから私は次のようなことをします:
foreach (DataColumn column in table.Columns) {
string colType = DermineColumnType(column);
}
. . . .
string DeterminColumnType(DataColumn column) {
Type sysType = column.DataType
if (sysType == typeof(Boolen)
return "boolean";
else if (sysType == typeof(Decimal) || sysType == typeof(Double) || sysType == typeof(Int32) ...)
return "number";
. . . . . .
else
return "string";
}
問題は、'date'、'datetime'、および 'timeofday' の値にあります。DataColumn クラスに、この列がデータベース テーブルで単に "date"、"time"、または"日付時刻"。DataColumn クラスの DataType プロパティは、これらすべてのケースで常に System.DateTime 型を返します。追加の SQL ステートメントを実行せずに、DataColumn および/または DataTable オブジェクトのみに基づいてこの情報を取得する方法はありますか?