首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

更新数据集解决办法

2011-12-29 
更新数据集PrivateSubupdata_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handlesupdata.

更新数据集
Private   Sub   updata_Click(ByVal   sender   As   System.Object,   ByVal   e   As   System.EventArgs)   Handles   updata.Click
                imagepath   =   Application.StartupPath   +   "\face\ "   +   data.Tables(0).Rows(0).Item(6)   +   ".bmp "
                a   =   a.FromFile(imagepath)
                            Else
                        Try
                                Dim   strsql   As   String   =   "update   cardinfo   set(name=@name,old=@old,number=@number,address=@address,mail=@mail) "
                                Dim   strcmd   As   New   SqlCommand(strsql,   sqlconn)
                                With   data.Tables(0).Rows(0)
                                        .Item(0).Parameters.Add(New   SqlParameter( "@name ",   SqlDbType.VarChar)).Value   =   nametxt.Text
                                        .Item(2).Parameters.Add(New   SqlParameter( "@old ",   SqlDbType.Int)).Value   =   old.Text
                                        .Item(4).Parameters.Add(New   SqlParameter( "@number ",   SqlDbType.VarChar)).Value   =   number.Text
                                        If   man.Checked.ToString   =   "男 "   Then
                                                .Item(1).Parameters.Add(New   SqlParameter( "@sex ",   SqlDbType.VarChar)).Value   =   "男 "
                                        Else   :   .Item(1).Parameters.Add(New   SqlParameter( "@sex ",   SqlDbType.VarChar)).Value   =   "女 "
                                        End   If
                                        .Item(3).Parameters.Add(New   SqlParameter( "@address ",   SqlDbType.VarChar)).Value   =   address.Text
                                        .Item(5).Parameters.Add(New   SqlParameter( "@mail ",   SqlDbType.VarChar)).Value   =   mail.Text
                                End   With


                                strcmd.CommandType   =   CommandType.Text
                                sqlconn.Open()
                                strcmd.ExecuteNonQuery()
                                strcmd.CommandType   =   CommandType.Text
                                cardada.SelectCommand   =   strcmd
                                cardada.Update(data)
                                sqlconn.Close()
                                MessageBox.Show( "更新成功 ",   "状态 ",   MessageBoxButtons.OK,   MessageBoxIcon.Information)
                        Catch   sqlexc   As   SqlException
                                MessageBox.Show(sqlexc.ToString,   Me.Text,   MessageBoxButtons.OK,   MessageBoxIcon.Information)
                        End   Try
                End   If
        End   Sub
大家帮我看下。为什么,我运行到.Item(0).Parameters.Add(New   SqlParameter( "@name ",   SqlDbType.VarChar)).Value   =   nametxt.Text
提示未找到类型“String”的公共成员“Parameters”。
好痛苦啊。哪位指点下

[解决办法]
sqlparameter是 用于sqlcommand的,而你是要用sqlparameter
[解决办法]
应该是
strcmd.Parameters.Add( "@name ", SqlDbType.VarChar, 50).Value = nametxt.Text
....


[解决办法]
Dim strsql As String = "update cardinfo set name=@name,old=@old,sex=@sex,number=@number,address=@address,mail=@mail where 列名=条件 "

--没有写条件当然是更新所有记录

热点排行