如何使用vb.net表单删除MS访问数据库的记录,以及如何使用vb.net表单输入密码保护的数据库



我是vb.net的新手,还是一名学生。我创建了一个表格,在vb.net中输入学生的入学详细信息,只是为了满足教育需求。我使用MS Access 2010创建了一个数据库,并将其链接到我的vb表单。它运行良好,我可以通过vb.net应用程序将详细信息输入到我的Access数据库,但我无法处理以下任务。

1)使用主键删除数据库的记录(我的数据库的主键"学生号",这是我的代码;请纠正我做这项任务:

Imports System.Data.OleDb
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim con As OleDbConnection
        Dim com As OleDbCommand
        con = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source= C:UsersPasinduDocumentsdatabase9.accdb")
        com = New OleDbCommand("delete from Table1 where Student number =@sno", con)
        con.Open()
        com.Parameters.AddWithValue("@sno", TextBox1.Text)
        com.ExecuteNonQuery()
        MsgBox("Record Deleted")
        con.Close()
    End Sub
End Class

2)我想使用密码保护我的数据库,并使用密码加密我的MS Access数据库。因此,当我保护数据库时,我只需要知道对代码的修改,因为我无法使用以前的代码更新数据库。。这是我以前向access数据库输入数据的代码。。若并没有受密码保护的数据库,代码运行良好。

Imports System.Data.OleDb
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim con As OleDbConnection
        Dim com As OleDbCommand
        con = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source= C:UsersPasinduDocumentsdatabase9.accdb;")
        com = New OleDbCommand("insert into table1 values(@sno,@sname,@nic)", con)
        con.Open()
        com.Parameters.AddWithValue("@sno", TextBox1.Text)
        com.Parameters.AddWithValue("@sname", TextBox2.Text)
        com.Parameters.AddWithValue("@nic", TextBox3.Text)
        com.ExecuteNonQuery()
        MsgBox("record added")
        con.Close()
    End Sub

要打开使用密码保护的MS Access数据库,您需要更改连接字符串

"Provider=Microsoft.ACE.OLEDB.12.0;" + 
"Data Source=C:UsersPasinduDocumentsdatabase9.accdb;" + 
"Jet OLEDB:Database Password=MyDbPassword;"

其中MyDbPassword应替换为正确的字符串

对于您问题的删除部分,我将尝试更改中的命令

delete * from Table1 where [Student number]=@sno

如果字段名称包含空格,则用方括号

封装名称

双击表单并添加以下代码

Dim con As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:UsersAdministratorDocumentsProject.mdb")
Dim sql = "select ShopperID from Shopper"
Dim command As New OleDbCommand(sql, con)
Dim da As New OleDbDataAdapter(command)
Dim dt As New DataTable
Try
  con.Open()
  da.Fill(dt)
  Dim x As Integer
  For x = 0 To dt.Rows().Count
    ComboBox1.Items.Add(dt.Rows(x).Item("ShopperID").ToString)
  Next
Catch ex As Exception
End Try

双击按钮并在下方添加代码

Dim con As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:UsersAdministratorDocumentsProject.mdb")
Dim sql = "delete from Shopper where ShopperID='" & ComboBox1.SelectedValue & "'"
Dim command As New OleDbCommand(sql, con)
Dim da As New OleDbDataAdapter(command)
Dim dt As New DataTable
Try
  con.Open()
  da.Fill(dt)
  command.ExecuteNonQuery()
  con.Close()
  MessageBox.Show("Reocrd Deleted")
Catch ex As Exception
End Try

最新更新