3

使用 VB 2010 和 SQL Server 2008:

我能够在数据表中插入新行、删除行和更新数据,并使用数据适配器更新数据库而不会出现任何问题。当我尝试添加新列时,该列出现在数据表中,但它不会更新到数据库。我目前正在使用 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 TABLEsql 命令。
SQLDMO 列集合 (请查看页面开头的通知)

添加列的 ALTER TABLE 命令可以用这种方式编码

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 回答