3

VB2010およびSQLServer2008の使用:

新しい行を挿入したり、行を削除したり、データテーブルのデータを更新したり、データアダプターを使用してデータベースを問題なく更新したりできます。新しい列を追加しようとすると、その列はデータテーブルに表示されますが、データベースに更新されません。現在、DataAdapter.Update(DataTable)メソッドを使用しています。

私のコードは次のとおりです。

Dim dcNewColumn As New DataColumn
dcNewColumn.ColumnName = strClassColumnName
m_DataTable.Columns.Add(dcNewColumn)
m_DataTable.Row(intCurrentRow).Item(strClassColumnName) = strClassName
dcNewColumn = Nothing

m_DA.Update(m_DataTable)

新しい列を挿入するときにデータベースを更新する別の方法はありますか?

4

2 に答える 2

1

ALTER TABLEあなたはsqlコマンドを探しています。
またはSQLDMO列コレクション (ページの冒頭にある通知を確認してください)

列を追加するALTERTABLEコマンドは、このようにコーディングできます。

Dim cn As SqlConnection
Dim cmd As SqlCommand
Using cn = GetConnection()
    cn.Open()
    Using cmd = new SqlCommand()
         cmd.Connection = cn
         cmd.CommandText = "ALTER TABLE myTable ADD aNewColumn VARCHAR(20) NULL"
         cmd.CommandType = CommandType.Text
         cmd.ExecuteNonQuery()
    End Using
End Using
于 2012-10-31T23:48:33.857 に答える
0

新しい列の追加は更新ではありません。いくつかのSQLを発行して、データベース内のテーブルの構造を変更できます。

Alter Table MyTable AddMyNewColumn int null 

関連する権限がある場合。

管理者タイプの機能を除けば、これは通常行うことではありません。

于 2012-10-31T23:51:09.397 に答える