Acessar uso / função de Chave Primária
Minha pergunta é em relação à conexão de um projeto VB.net a um banco de dados do Access. Devo ter uma chave primária na minha tabela ou existe uma maneira de alterar meu código para não procurar um PK?
Ocorreu um erro ao me dizer que não tenho chave primária. Agora, se eu tornar "AdminID" minha chave primária, o sistema funcionará. Eu estava apenas questionando se isso é ou não necessário?
Atualmente, minha caixa de combinação exibe "AdminID" onde, como preferiria, exibe "AdminName"
Obrigado.
Dim objConnection As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source= InfoSystem.accdb")
Dim objAdminDA As New OleDb.OleDbDataAdapter("Select *from tblAdmins", objConnection)
Dim objAdminCB As New OleDb.OleDbCommandBuilder(objAdminDA)
Dim objDataSet As New DataSet()
Public Sub Retrieve()
'Clears DataSet of any existing data
objDataSet.Clear()
'Fills schema - adds table structure information to DataSet
objAdminDA.FillSchema(objDataSet, SchemaType.Source, "tblAdmins")
'Fills DataSet with info from the DataAdapter
objAdminDA.Fill(objDataSet, "tblAdmins")
'Fill the DataSet with info from the Admin table
objAdminDA.FillSchema(objDataSet, SchemaType.Source, "tblAdmins")
objAdminDA.Fill(objDataSet, "tblAdmins")
'Empty combo box
cboxAdmin.Items.Clear()
'Loop through each row, adding the AdminName to the combo box
Dim i As Integer, strAdminID As String
For i = 1 To objDataSet.Tables("tblAdmins").Rows.Count
strAdminID = objDataSet.Tables("tblAdmins").Rows(i - 1).Item("AdminID")
cboxAdmin.Items.Add(strAdminID)
Next
'Select first item in the list
cboxAdmin.SelectedIndex = 0
FillAdminDetails()
End Sub
Public Sub FillAdminDetails()
Dim objRow As DataRow
objRow = objDataSet.Tables("tblAdmins").Rows.Find(cboxAdmin.SelectedItem.ToString)
txtStaffDept.Text = objRow.Item("Department")
txtStaffTitle.Text = objRow.Item("Title")
End Sub
Private Sub cboxAdmin_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboxAdmin.SelectedIndexChanged
FillAdminDetails()
End Sub
End Sub