打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
VB.NET访问ACCESS数据库的增加,修改,删除等部分过程

用到数据控件DataSet,OleDbConnection,OleDbDataAdapter

'组合搜索

Private Sub btnOk_Click(ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles BtnOK.Click

           Dim str As String
           Dim type1 As String

           str = "select * from telecode where 1=1 "
           If Me.txName.Text <> "" Then
               str = str & " and name like '%" &Me.txName.Text & "%'"
           End If
           If Me.txDept.Text <> "" Then
               str = str & " and dept like '%" &Me.txDept.Text & "%'"
           End If
           If Me.txAddr.Text <> "" Then
               str = str & " and address like '%"& Me.txAddr.Text & "%'"
           End If
           If Me.txTele.Text <> "" Then
               str = str & " and (telephone like '%"& Me.txTele.Text & "%' or mobilelike '%" & Me.txTele.Text &"%')"
           End If
           If Me.cbxType.SelectedItem <> ""Then
               type1 = Me.cbxType.SelectedIndex + 1

               str = str & " and type = '" & type1& "'"
           End If

           OleDbConnection1.Open()
           Console.Write(str)

           OleDbDataAdapter1.SelectCommand.CommandText = str
           OleDbDataAdapter1.SelectCommand.ExecuteNonQuery()
           DataSet1.Clear()
           OleDbDataAdapter1.Fill(DataSet1)
           OleDbConnection1.Close()

           ' DataView1.Table = DataSet1.Tables(0)
                  showpostion()
           'ComboBox1.DataSource = objds.Tables(0)
           'ComboBox1.DisplayMember =objds.Tables(0).Columns(1).ToString
           'Label1.Text = objds.Tables(0).Columns(1).ColumnName

           Dim ds As DataSet
           ds = DataSet1
           If Not ds Is Nothing Then
               Me.DataGrid1.PreferredColumnWidth = Me.DataGrid1.Width /ds.Tables(0).Columns.Count
               Me.DataGrid1.DataSource = ds.Tables(0)
           Else
               MsgBox("没有符合要求的记录!", MsgBoxStyle.OKOnly, "提示")
               Me.DataGrid1.DataSource = Nothing
           End If
                     LabAcc.Text = ds.Tables(0).Columns.Count
       End Sub

'增加记录

       Private Sub BtAdd_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles BtAdd.Click
           If txName.Text = "" Or (txTele.Text = "" And txMobile.Text = "")Then
               MsgBox("请填充完成数据", MsgBoxStyle.Information, "提示")
               txTele.Focus()
               Exit Sub
           Else

               Dim sex1 As Integer
               Dim str, type1 As String
               If RadioBt1.Checked Then
                   sex1 = 0
               Else
                   sex1 = -1
               End If
               If Me.cbxType.SelectedItem <> ""Then
                   type1 = Me.cbxType.SelectedIndex + 1
               End If
               Str = "insert into telecode (id,name,sex,dept,address,telephone,mobile,tnote,type ) values ( "& _
                        txId.Text & ", '" & txName.Text& "', " & sex1 & ",'" & _
                        txDept.Text & "', '" & txAddr.Text& "', '" & txTele.Text& "', '" & _
                        txMobile.Text & "', '" &txNote.Text & "', '" & type1& "' )"

               OleDbConnection1.Open()
               Console.Write(Str)

               OleDbDataAdapter1.InsertCommand.CommandText = str
               OleDbDataAdapter1.InsertCommand.ExecuteNonQuery()
               DataSet1.Clear()
               OleDbDataAdapter1.Fill(DataSet1)
               OleDbConnection1.Close()

               MsgBox("添加成功")

               Dim ds As DataSet
               ds = DataSet1
               If Not ds Is Nothing Then
                   Me.DataGrid1.PreferredColumnWidth = Me.DataGrid1.Width /ds.Tables(0).Columns.Count
                   Me.DataGrid1.DataSource = ds.Tables(0)
               Else
                   MsgBox("没有符合要求的记录!", MsgBoxStyle.OKOnly, "提示")
                   Me.DataGrid1.DataSource = Nothing
               End If

           End If
       End Sub

'增加记录另一过程

       Private Sub BtADD1_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles BtADD1.Click
           'Close()
           If txName.Text = "" Or (txTele.Text = "" And txMobile.Text = "")Then
               MsgBox("请填充完成数据", MsgBoxStyle.Information, "提示")
               txTele.Focus()
               Exit Sub
           Else
               Dim str As String = "Provider=Microsoft.Jet.OLEDB.4.0;DataSource=e:\lytelephone\iteleDB.mdb"
               Dim conn As OleDbConnection
               conn = New OleDbConnection(str)
               conn.Open()
               Dim strsql As String
               strsql = "select * from telecode where name='" &Trim$(txName.Text) & "'"
               Dim cmd As New OleDbCommand(strsql, conn)
               Dim dr As OleDbDataReader
               dr = cmd.ExecuteReader
               If (dr.Read) Then
                   MsgBox("已经有相同的名字,请修改")
                   txTele.Focus()
                   Exit Sub
               Else
                   dr.Close()
                   Dim strInsert As String
                   Dim sex1 As Integer
                   Dim type1 As String
                   If RadioBt1.Checked Then
                       sex1 = 0
                   Else
                       sex1 = -1
                   End If
                   If Me.cbxType.SelectedItem <> ""Then
                       type1 = Me.cbxType.SelectedIndex + 1
                   End If
                   strInsert = "insert into telecode (id,name,sex,dept,address,telephone,mobile,tnote,type ) values ( "& _
                            txId.Text & ", '" & txName.Text& "', " & sex1 & ",'" & _
                            txDept.Text & "', '" & txAddr.Text& "', '" & txTele.Text& "', '" & _
                            txMobile.Text & "', '" &txNote.Text & "', '" & type1& "' )"

                   Dim cmdInsert As OleDbCommand = New OleDbCommand(strInsert,conn)
                   cmdInsert.ExecuteNonQuery()                '这里有问题
                   MsgBox("添加成功")
                   strsql = "select * from telecode"
                   Dim cmdView As New OleDbCommand(strsql, conn)
                   cmdView.ExecuteNonQuery()
                   Dim da As New OleDbDataAdapter
                   da = New OleDbDataAdapter(strsql, conn)
                   Dim ds As New DataSet
                   da.Fill(ds)
                   DataGrid1.DataSource = ds.Tables(0)
               End If

           End If
       End Sub

       Private Sub BtDel_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles BtDel.Click
           Dim str As String
           Dim type1 As String

           str = "1=1"
           If Me.txName.Text <> "" Then
               str = str & " and name = '" &Me.txName.Text & "'"
           End If
           If Me.txDept.Text <> "" Then
               str = str & " and dept = '" &Me.txDept.Text & "'"
           End If
           If Me.txAddr.Text <> "" Then
               str = str & " and address = '" &Me.txAddr.Text & "'"
           End If
           If Me.txTele.Text <> "" Then
               str = str & " and (telephone = '" &Me.txTele.Text & "' or mobile = '"& Me.txTele.Text & "')"
           End If
           If Me.cbxType.SelectedItem <> ""Then
               type1 = Me.cbxType.SelectedIndex + 1
               str = str & " and type = '" & type1& "'"
           End If
           If str = "1=1" Then
               Exit Sub
           End If
           str = "delete * from telecode where " & str
           OleDbConnection1.Open()
           Console.Write(str)

           OleDbDataAdapter1.DeleteCommand.CommandText = str
           OleDbDataAdapter1.DeleteCommand.ExecuteNonQuery()
           DataSet1.Clear()
           OleDbDataAdapter1.Fill(DataSet1)
           OleDbConnection1.Close()

       End Sub

'修改

       Private Sub BtModi_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles BtModi.Click
           If txName.Text = "" Or txTele.Text = "" Then
               MsgBox("请填充完成数据", MsgBoxStyle.Information, "提示")
               txName.Focus()
               Exit Sub
           Else

               Dim str As String = "Provider=Microsoft.Jet.OLEDB.4.0;DataSource=e:\lytelephone\iteleDB.mdb"
               Dim conn As OleDbConnection
               conn = New OleDbConnection(str)
               conn.Open()
               Dim strsql As String
               strsql = "select * from telecode where name='" &Trim$(txName.Text) & "'"
               Dim cmd As New OleDbCommand(strsql, conn)
               Dim dr As OleDbDataReader
               dr = cmd.ExecuteReader
               If (dr.Read) Then
                   Dim r As MsgBoxResult
                   r = MsgBox("确定要修改此数据吗?", MsgBoxStyle.YesNo, "提示")
                   Select Case r
                       Case vbYes
                           dr.Close()
                           Dim strUpdate As String
                           Dim sex1 As Integer
                           Dim type1 As String
                           If RadioBt1.Checked Then
                               sex1 = 0 '注意access中boolean属性字段0(false)||-1(True),不然使用sql语句会出错
                           Else
                               sex1 = -1
                           End If
                           If Me.cbxType.SelectedItem <> ""Then
                               type1 = Me.cbxType.SelectedIndex + 1
                           End If
                           strUpdate = "update telecode set telephone='" +Trim$(Me.txTele.Text) + "'" & _
                              ", mobile = '" + Trim$(Me.txMobile.Text) + "'" &_
                              ", address = '" + Trim$(Me.txAddr.Text) + "'" &_
                              ", tnote = '" + Trim$(Me.txNote.Text) + "'" &_
                              ", type = '" + type1 + "'" & _
                              " where name='" + Trim$(Me.txName.Text) + "'"
                           Dim cmdUpdate As OleDbCommand = New OleDbCommand(strUpdate,conn)
                           cmdUpdate.ExecuteNonQuery()        '老是这里提示错误 不明白之前要用 dr.Close()
     
                           MsgBox("修改成功", , "提示")
                           strsql = "select * from telecode"
                           Dim cmdView As New OleDbCommand(strsql, conn)
                           cmdView.ExecuteNonQuery()
                           Dim da As New OleDbDataAdapter
                           da = New OleDbDataAdapter(strsql, conn)
                           Dim ds As New DataSet
                           da.Fill(ds)
                           DataGrid1.DataSource = ds.Tables(0)
                       Case vbNo
                           Exit Sub
                   End Select
               Else
                   MsgBox("没有找到此数据,请重新输入用户名", , "提示")
                   txName.Focus()
                   Exit Sub
               End If
           End If

       End Sub

'刷新表

       Private Sub tabpage1_click(ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles TabPage1.Click

           txName.Focus()

           Dim strsql As String = "select * from telecode"
           Dim str As String = "Provider=Microsoft.Jet.OLEDB.4.0;DataSource=e:\lytelephone\iteleDB.mdb"
           Dim conn As OleDbConnection
           conn = New OleDbConnection(str)
           conn.Open()
           Dim cmdView As New OleDbCommand(strsql, conn)
           cmdView.ExecuteNonQuery()
           Dim da As New OleDbDataAdapter
           da = New OleDbDataAdapter(strsql, conn)
           Dim ds As New DataSet
           da.Fill(ds)
           DataGrid1.DataSource = ds.Tables(0)
       End Sub

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
C#获取Excel里sheet名,其表内容
vs2010连接oracle
使用OLEConn连接数据库
VB.net数据库编程(01):简单的入门实例
vb登录界面设计笔记(连接SQLServer2000数据库)
ASP.NET读取Excel文件的三大方法浅析
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服