Jump to content

Recommended Posts

Posted

Boas a todos os presentes.

Venho mais uma vez pedir a vossa ajuda.

É o seguinte:

Na aplicação  que estou a criar, tenho 3 combobox que os itens que elas contem, são preenchidas por uma busca á sua respectiva tabela. Ou seja uma combox=1 tabela. Isto está assim,para que quando seja necessario acrescentar ou eliminar um item da combobox, também é acrescentado ou eliminado na respectiva tabela.

Acontece que, quando tento correr a aplicação dá erro na busca dos registos

Este é o codigo que uso para as comboxes buscarem os registos

Dim myConnectionstring As String = "Data Source=.\SQLEXPRESS; Initial Catalog=Parque; Integrated Security=SSPI;"
        Dim connection As New SqlConnection(myConnectionstring)
        connection.Open()
        Dim DSet As New DataSet(), SQLStr As String
        Dim command As New SqlCommand(SQLStr, connection)
        Dim dbAdaptr As System.Data.SqlClient.SqlDataAdapter = New System.Data.SqlClient.SqlDataAdapter()

        'mapeia a tabela empresas , monta o sql para selecionar os nomes das empresas
        'e executa o objeto command preenchendo a seguir o dataset
        Dim tRow As DataRow, Table As DataTable
        With dbAdaptr
            .TableMappings.Add("empresas", "empresa")
            SQLStr = "Select * from empresas"
        End With
        'mapeia a tabela localidade , monta o sql para selecionar os nomes das localidades
        'e executa o objeto command preenchendo a seguir o dataset
        With dbAdaptr
            .TableMappings.Add("localidades", "localidade")
            SQLStr = "Select * from localidades"
        End With
        'mapeia a tabela departamentos , monta o sql para selecionar os nomes dos departamentos
        'e executa o objeto command preenchendo a seguir o dataset
        With dbAdaptr
            .TableMappings.Add("departamentos", "departamento")
            SQLStr = "Select * from departamentos"

            command = New System.Data.SqlClient.SqlCommand(SQLStr, connection)
            command.CommandType = CommandType.Text
            .SelectCommand = command
            .Fill(DSet)
            .Dispose()
        End With

        DSet.AcceptChanges()
        Table = DSet.Tables.Item(0)
        DSet.Dispose()
        connection.Close()

        ' preenche o combo combobox empresa
        cbxEmpresa.Text = ""
        cbxEmpresa.Items.Clear()
        cbxEmpresa.BeginUpdate()
        ' preenche o combo combobox localidade
        cbxLocal.Text = ""
        cbxLocal.Items.Clear()
        cbxLocal.BeginUpdate()
        ' preenche o combo combobox departamentos
        cbxDepartamento.Text = ""
        cbxDepartamento.Items.Clear()
        cbxDepartamento.BeginUpdate()

        ' carrega o combo com o nome das empresas
        For Each tRow In Table.Rows
            cbxEmpresa.Items.Add(tRow("empresa").ToString)  'aqui o seguinte erro "Column 'empresa' does not belong to table Table."
        Next
        cbxEmpresa.EndUpdate()

        ' carrega o combo com o nome das localidades
        For Each tRow In Table.Rows
            cbxLocal.Items.Add(tRow("localidade").ToString)
        Next
        cbxLocal.EndUpdate()

        ' carrega o combo com o nome dos departamentos
        For Each tRow In Table.Rows
            cbxDepartamento.Items.Add(tRow("departamento").ToString)
        Next
        cbxDepartamento.EndUpdate()

    End Sub

Como se pode solucionar o problema?

Agradecia a vossa ajuda  🙂😁😄

Um abraço a todos

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.