1

私の .NET プログラムで、新しい列を挿入してデータベース テーブルの構造を変更したいと考えています。しかし、ADO.NET でデータベースに対して "ALTER TABLE ....." コマンドを実行してそれを実行したくありません。データテーブルに新しい列を追加してそれを行いたいです。したがって、関連する tableAdapter を更新すると、物理テーブル構造が変更されます。

私が動作すると予想したコードは次のようなものでした:

        SqlCommand cmd = new SqlCommand("SELECT * FROM EMPLOYEE", conn);
        SqlDataAdapter adapter = new SqlDataAdapter(cmd);
        DataTable dt = new DataTable();
        adapter.Fill(dt);
        dt.Columns.Add(new DataColumn("BirthDate"));
        adapter.Update(dt);

しかし、そうではありませんでした。

何らかの方法で可能である場合、どうすればそれを行うことができますか?

4

1 に答える 1

1

これはできません。

.NET データ テーブルは、ディスク上のデータベース構造を表現したものにすぎません。DataTableの構造を変更した場合に、基になるテーブルの生成または更新をサポートする ADO.NET DataTable コードの機能はありません。

ALTER TABLE .....探しているものを実現するには、SQL ステートメントを使用する必要があります。残念ながら、それを回避する方法はありません。

于 2011-02-06T12:57:20.640 に答える