当前位置:编程学习 > C#/ASP.NET >>

vb.net数据库操作

我已经将数据库中表people的内容,用adapter1 fill 到dataset1中了,想对dataset1中的数据进行修改和删除操作该怎么弄啊 people中的字段有name和age
答案:参考一下下面这段代码就可以了。

Imports   System.Data
'引入数据库操作类命名空间
Imports   System.Data.OleDb
'引入ADO.NET操作命名空间
Public   Class   FrmModifystInfo
        Inherits   System.Windows.Forms.Form
        Public   ADOcmd   As   OleDbDataAdapter
        Public   ds   As   DataSet   =   New   DataSet()
        '建立DataSet对象  
        Public   mytable   As   Data.DataTable
        '建立表单对象
        Public   myrow   As   Data.DataRow
        '建立数据行对象
        Public   rownumber   As   Integer
        '定义一个整型变量来存放当前行数
        Public   SearchSQL   As   String
        Public   cmd   As   OleDbCommandBuilder
'======================================================
#Region   "   Windows   窗体设计器生成的代码   "

#End   Region
'======================================================
        Private   Sub   FrmModifystInfo_Load(ByVal   sender   As   Object,   ByVal   e   As   System.EventArgs)   Handles   MyBase.Load
                '窗体的载入
                TxtSID.Enabled   =   False
                TxtName.Enabled   =   False
                ComboSex.Enabled   =   False
                TxtBornDate.Enabled   =   False
                TxtClassno.Enabled   =   False
                TxtRuDate.Enabled   =   False
                TxtTel.Enabled   =   False
                TxtAddress.Enabled   =   False
                TxtComment.Enabled   =   False       '设置信息为只读
                Dim   tablename   As   String   =   "student_Info "
                SearchSQL   =   "select   *   from   student_Info   "
                ExecuteSQL(SearchSQL,   tablename)       '打开数据库
                ShowData()         '显示记录
        End   Sub


        Private   Sub   ShowData()
                '在窗口中的textbox中显示数据
                myrow   =   mytable.Rows.Item(rownumber)
                TxtSID.Text   =   myrow.Item(0).ToString
                TxtName.Text   =   myrow.Item(1).ToString
                ComboSex.Text   =   myrow.Item(2).ToString
                TxtBornDate.Text   =   Format(myrow.Item(3),   "yyyy-MM-dd ")
                TxtClassno.Text   =   myrow.Item(4).ToString
                TxtTel.Text   =   myrow.Item(5).ToString
                TxtRuDate.Text   =   Format(CDate(myrow.Item(6)),   "yyyy-MM-dd ")
                TxtAddress.Text   =   myrow.Item(7).ToString
                TxtComment.Text   =   myrow.Item(8).ToString
        End   Sub


        Private   Sub   BtFirst_Click(ByVal   sender   As   System.Object,   ByVal   e   As   System.EventArgs)   Handles   BtFirst.Click
                '指向第一条数据
                rownumber   =   0
                ShowData()
        End   Sub

        Private   Sub   BtPrev_Click(ByVal   sender   As   System.Object,   ByVal   e   As   System.EventArgs)   Handles   BtPrev.Click
                '指向上一条数据
                BtNext.Enabled   =   True
                rownumber   =   rownumber   -   1
                If   rownumber   <   0   Then
                        rownumber   =   0       '如果到达记录的首部,行号设为零
                        BtPrev.Enabled   =   False
                End   If
                ShowData()
        End   Sub

        Private   Sub   BtNext_Click(ByVal   sender   As   System.Object,   ByVal   e   As   System.EventArgs)   Handles   BtNext.Click
                '指向上一条数据
                BtPrev.Enabled   =   True
                rownumber   =   rownumber   +   1
                If   rownumber   >   mytable.Rows.Count   -   1   Then
                        rownumber   =   mytable.Rows.Count   -   1   '判断是否到达最后一条数据
                        BtNext.Enabled   =   False
                End   If
                ShowData()
        End   Sub

        Private   Sub   BtLast_Click(ByVal   sender   As   System.Object,   ByVal   e   As   System.EventArgs)   Handles   BtLast.Click
                '指向最后一条数据
                rownumber   =   mytable.Rows.Count   -   1
                ShowData()
        End   Sub

        Private   Sub   BtDelete_Click(ByVal   sender   As   System.Object,   ByVal   e   As   System.EventArgs)   Handles   BtDelete.Click
                mytable.Rows.Item(rownumber).Delete()     '删除记录
                If   MsgBox( "确定要删除改记录吗? ",   MsgBoxStyle.OKCancel   +   vbExclamation,   "警告 ")   =   MsgBoxResult.OK   Then
                        cmd   =   New   OleDbCommandBuilder(ADOcmd)
                        '使用自动生成的SQL语句
                        ADOcmd.Update(ds,   "student_Info ")
                        BtNext.PerformClick()
                End   If
        End   Sub

        Private   Sub   BtModify_Click(ByVal   sender   As   System.Object,   ByVal   e   As   System.EventArgs)   Handles   BtModify.Click
                TxtSID.Enabled   =   False   '关键字段只读
                TxtName.Enabled   =   True   '可读写
                ComboSex.Enabled   =   True
                TxtBornDate.Enabled   =   True
                TxtClassno.Enabled   =   True
                TxtRuDate.Enabled   =   True
                TxtTel.Enabled   =   True
                TxtAddress.Enabled   =   True
                TxtComment.Enabled   =   True
        End   Sub

        Private   Sub   BtUpdate_Click(ByVal   sender   As   System.Object,   ByVal   e   As   System.EventArgs)   Handles   BtUpdate.Click
                If   Not   Testtxt(TxtName.Text)   Then
                        MsgBox( "请输入姓名! ",   vbOKOnly   +   vbExclamation,   "警告 ")
                        TxtName.Focus()
                        Exit   Sub
                End   If
                If   Not   Testtxt(ComboSex.Text)   Then
                        MsgBox( "请选择性别! ",   vbOKOnly   +   vbExclamation,   "警告 ")
                        ComboSex.Focus()
                        Exit   Sub
                End   If
                If   Not   Testtxt(TxtClassno.Text)   Then
                        MsgBox( "请选择班号! ",   vbOKOnly   +   vbExclamation,   "警告 ")
                        TxtClassno.Focus()
                        Exit   Sub
                End   If

                If   Not   Testtxt(TxtTel.Text)   Then
                        MsgBox( "请输入联系电话! ",   vbOKOnly   +   vbExclamation,   "警告 ")
                        TxtTel.Focus()
                        Exit   Sub
                End   If
                If   Not   Testtxt(TxtAddress.Text)   Then
                        MsgBox( "请输入家庭住址! ",   vbOKOnly   +   vbExclamation,   "警告 ")
                        TxtAddress.Focus()
                        Exit   Sub
                End   If
                If   Not   IsNumeric(Trim(TxtSID.Text))   Then
                        MsgBox( "请输入数字学号! ",   vbOKOnly   +   vbExclamation,   "警告 ")
                        Exit   Sub
                        TxtSID.Focus()
                End   If
                If   Not   IsDate(TxtBornDate.Text)   Then
                        MsgBox( "出生时间应输入日期格式(yyyy-mm-dd)! ",   vbOKOnly   +   vbExclamation,   "警告 ")
                        Exit   Sub
                        TxtBornDate.Focus()
                End   If
                If   Not   IsDate(TxtRuDate.Text)   Then
                        MsgBox( "入校时间应输入日期格式(yyyy-mm-dd)! ",   vbOKOnly   +   vbExclamation,   "警告 ")
                        TxtRuDate.Focus()
                        Exit   Sub
                End   If
                myrow.Item(0)   =   Trim(TxtSID.Text)
                myrow.Item(1)   =   Trim(TxtName.Text)
                myrow.Item(2)   =   Trim(ComboSex.Text)
                myrow.Item(3)   =   Trim(TxtBornDate.Text)
                myrow.Item(4)   =   Trim(TxtClassno.Text)
                myrow.Item(5)   =   Trim(TxtTel.Text)
                myrow.Item(6)   =   Trim(TxtRuDate.Text)
                myrow.Item(7)   =   Trim(TxtAddress.Text)
                myrow.Item(8)   =   Trim(TxtComment.Text)
                mytable.GetChanges()
                cmd   =  

上一个:VB.NET 类
下一个:vb.net实现列表中上一页,下一页的功能的代码(在线等)

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,