- PR -

MsAccessDBのテーブルへ列を追加するときのデータ型変換

1
投稿者投稿内容
jornada690
常連さん
会議室デビュー日: 2006/06/13
投稿数: 25
投稿日時: 2007-07-08 14:44
よろしくお願いします。
開発言語:C#2.0

AccessDBテーブルへ列を追加する際に、その列のデータ型を.NETのデータ型からAccessが認識できるデータ型へ変換したいのですが、変換関数のようなものはあるのでしょうか?
例えばint型の変数にGetTypeメソッドを指定した場合"System.Int32"となるため例外が発生します。これを"integer"に変換できればよいのですが。

クエリ --- "ALTER TABLE [テーブル名] ADD COLUMN [追加する列名] (※)追加する列のデータ型 DEFAULT デフォルト値"

現状では自前で
if (type == typeof(bool)) { return "boolean"; }
else if (type == typeof(byte)) { return "byte"; }
・・・

のように変換関数を作成しております。

KI
大ベテラン
会議室デビュー日: 2007/01/10
投稿数: 239
投稿日時: 2007-07-08 18:06
Access は詳しくはないですが、
.NET の型と Access の型にはそもそも互換性がありませんから
普通に考えて無理でしょう。

引用:

現状では自前で
if (type == typeof(bool)) { return "boolean"; }
else if (type == typeof(byte)) { return "byte"; }
・・・

のように変換関数を作成しております。


そういう方法しかないと思います。
せめて switch を使うべきだとは思いますが。
jornada690
常連さん
会議室デビュー日: 2006/06/13
投稿数: 25
投稿日時: 2007-07-08 18:17
回答ありがとうございます。

無理ということが分かっただけでも助かりました。
1

スキルアップ/キャリアアップ(JOB@IT)