SQL Server 2008 データベースのインポート アプリケーションを VB.NET で作成しています。将来のメンテナンスを減らすために、インポートを可能な限り汎用的にしようとしています。したがって、インポートできるテーブルの事前設定リストから使用可能なすべての列を取得します。
主な問題は、エラー トラップを実行するところまで来てしまったことです。現在、インポートされている値がデータベース内のフィールドのデータ型としてキャスト可能かどうかを確認しようとしています。たとえば、日付をデータベースにインポートしたいが、誤って住所フィールドを入力してしまった場合、これをピックアップしてユーザーに警告したいと考えています。
そのため、データベース テーブルと同じスキーマを持つ VB データテーブルと、データテーブルに入れたい値があります。以下は私がすでに持っているものです(それほど多くはありません):
Private Sub SetValue(TargetDataTable As DataTable, ColumnName as String, Value as string)
Dim DBType as Type = TargetDataTable.Columns(ColumnName).Datatype
????
End Sub
リフレクションについていくつか調査しましたが、それでもデータ型を定義する必要があります。これを行う他の方法はありますか?