2

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

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:\Users\Pasindu\Documents\database9.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 数据库。所以我只需要在保护我的数据库时知道对我的代码的修改,因为我无法使用我以前的代码更新我的数据库..这是我以前的代码来将数据输入到访问数据库..如果有代码可以正常工作不是受密码保护的数据库。

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:\Users\Pasindu\Documents\database9.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
4

2 回答 2

3

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

"Provider=Microsoft.ACE.OLEDB.12.0;" + 
"Data Source=C:\Users\Pasindu\Documents\database9.accdb;" + 
"Jet OLEDB:Database Password=MyDbPassword;"

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

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

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

如果您的字段名称包含空格,则用方括号将名称封装起来

于 2012-07-17T09:09:43.143 回答
0

双击表单并添加以下代码

Dim con As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Administrator\Documents\Project.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:\Users\Administrator\Documents\Project.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
于 2018-07-30T20:19:10.637 回答