Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 在VB 2010中在datatable中插入新列时,如何更新SQL Server 2008数据库?_Vb.net_Sql Server 2008 - Fatal编程技术网

Vb.net 在VB 2010中在datatable中插入新列时,如何更新SQL Server 2008数据库?

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

使用VB 2010和SQL Server 2008:

我能够在datatable中插入新行、删除行和更新数据,并使用数据适配器更新数据库而不会出现任何问题。当我尝试添加新列时,该列会显示在数据表中,但不会更新到数据库中。我目前正在使用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)
插入新列时是否有其他方法更新数据库?

您正在查找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您可以尝试更新原始问题,但错误消息足以理解我的错误。啊哈!真棒,先生。谢谢你的帮助。我非常感激!我想投票赞成这个答案,但我还需要一些声望点数。