我是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