Vb.net 在VB 2010中在datatable中插入新列时,如何更新SQL Server 2008数据库?
使用VB 2010和SQL Server 2008: 我能够在datatable中插入新行、删除行和更新数据,并使用数据适配器更新数据库而不会出现任何问题。当我尝试添加新列时,该列会显示在数据表中,但不会更新到数据库中。我目前正在使用DataAdapter.Update(DataTable)方法 我的代码如下:Vb.net 在VB 2010中在datatable中插入新列时,如何更新SQL Server 2008数据库?,vb.net,sql-server-2008,Vb.net,Sql Server 2008,使用VB 2010和SQL Server 2008: 我能够在datatable中插入新行、删除行和更新数据,并使用数据适配器更新数据库而不会出现任何问题。当我尝试添加新列时,该列会显示在数据表中,但不会更新到数据库中。我目前正在使用DataAdapter.Update(DataTable)方法 我的代码如下: Dim dcNewColumn As New DataColumn dcNewColumn.ColumnName = strClassColumnName m_DataTable.Col
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)
插入新列时是否有其他方法更新数据库?您正在查找sql命令。或(请查看页面开头的通知) 用于添加列的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
添加新列不是更新。您可以发出一些sql来更改数据库中表的结构,例如
Alter Table MyTable AddMyNewColumn int null
如果你有相关的权限
除了管理员类型的功能外,这不是您通常会做的事情 我正在尝试使用此代码,但遇到了一些问题。在此之前,我的连接已经打开,因为我在整个过程中都在使用它。我正在使用以下命令:Dim cmd As SQLCommand using cn using cmd=new SQLCommand()cmd.CommandText=“ALTER TABLE Interval ADD”&strClassName&“Text NULL”cmd.CommandType=CommandType.Text cmd.ExecuteNonQuery()End using End using我正在获取“ExecuteOnQuery:尚未初始化连接属性“错误。我能做些什么来纠正这个问题呢?哇,我也不太确定回答问题的最佳方式。有没有更好的方法来显示我的代码块?抱歉,忘记将连接绑定到实际的SqlCommand,answer Updated您可以尝试更新原始问题,但错误消息足以理解我的错误。啊哈!真棒,先生。谢谢你的帮助。我非常感激!我想投票赞成这个答案,但我还需要一些声望点数。