首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

请问一个有关问题!高手多帮忙!万分感谢

2011-12-31 
请教一个问题!!高手多帮忙!!万分感谢!下面是初始化ImportsSystem.DataImportsSystem.Data.SqlClientPublic

请教一个问题!!高手多帮忙!!万分感谢!


下面是初始化

Imports   System.Data
Imports   System.Data.SqlClient

Public   Class   Form1
        Public   dtset   As   DataSet
        Public   dtcmd   As   SqlDataAdapter
        Private   Sub   Form1_Load(ByVal   sender   As   System.Object,   ByVal   e   As   System.EventArgs)   Handles   MyBase.Load
                Dim   ssqlstring   As   String   =   "data   source=.;uid=sa;pwd=;database=csdd "
                Dim   dtconn   As   SqlConnection   =   New   SqlConnection(ssqlstring)
                dtconn.Open()

                dtcmd   =   New   SqlDataAdapter( "select   *   from   sp ",   dtconn)
                dtset   =   New   DataSet

                dtcmd.Fill(dtset,   "spqd ")
                DataGrid1.DataSource   =   dtset.Tables( "spqd ").DefaultView

        End   Sub
End   Class


下面是删除按钮的语句
                        Dim   i   =   DataGrid1.CurrentRowIndex
                        If   MessageBox.Show( "确定删除? ",   "confim ",   MessageBoxButtons.YesNo)   =   Windows.Forms.DialogResult.Yes   Then
                                dtset.Tables( "sp ").Rows(i).Delete()
                                dtset.Tables( "sp ").DefaultView.RowFilter   =   " "
                                dtcmd.Update(dtset.Tables( "sp "))
                        End   If
但是,点击删除时提示:当传递具有已删除行的   DataRow   集合时,更新要求有效的   DeleteCommand。

出的问题在dtcmd.Update(dtset.Tables( "sp ")),我把他改为dtcmd.Update(dtset)或者dtcmd.Update(dtset, "sp "),结果都是这个错误提示,不知道问题出在那里???那位告示给看看??

 

多谢!!!


[解决办法]
在删除按钮的代码中加入一句

Dim b As New SqlCommandBuilder(dtcmd)

加在Update之前,用来生成有效的DeleteCommand。


[解决办法]
使用SqlCommandBuilder生成DeleteCommand语句

Dim b As New SqlCommandBuilder(dtcmd)
dtcmd.Update(dtset.Tables( "sp "))

[解决办法]
谢谢支持。

热点排行