Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Abrir form com dados da base de dados?


JoãoNascimento

Pergunta

Pessoal preciso de uma juda ai.

Tenho um form onde quero que ao carregar no menu a opção empresa, abra os dados da empresa no form...

Os dados estão numa tabela na base de dados...

Mas não sei como importar esses dados para lá, se ouve-se um datagrid eu ai sabia como importar esses dados, mas assim não sei... alguém me pode ajudar...

O código que tava a pensar era o seguinte:

Private Sub EmpresaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EmpresaToolStripMenuItem.Click
        Dim codempresa As Integer
        Dim nome As String
        Dim capitalssocial As Integer
        Dim morada As String
        Dim codigopostal As String
        Dim concelho As String
        Dim telefone As Long
        Dim fax As Long
        Dim nif As Long
        Dim nib As Long
        Dim banco As String
        Dim adapter_empresa As New GestSalDataSetTableAdapters.EmpresaTableAdapter
        Dim tab_empresa As New GestSalDataSet.EmpresaDataTable
        adapter_empresa.Fill(tab_empresa)

(..)-> não sei como qual é a linha de código que me faça importar os dados

        Dim form As New FormEmpresa
        form.MdiParent = Me
        form.Show()
        form.alterar()
    End Sub

Abraços

Editado por kuroi
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

18 respostass a esta questão

Posts Recomendados

  • 0

Amigo já vi uma cenas, mas é o seguinte consegui conectar td bem. testei com uma msgbox e todos os dados aparecem certos.

o meu problema agora é consiliar os campos da base de dados as respectivas textbox..

O codigo que tou usando como exemplo é esse:

Const constr As String = "Data Source=JOÃONASCIMEN-PC\SQLEXPRESS;Initial Catalog=GestSal;Integrated Security=True;Pooling=False"
        Dim db As New SqlClient.SqlConnection(constr)
        db.Open()
        Dim varsql As String
        varsql = "Select * from Empresa"
        Dim cmd As New SqlClient.SqlCommand(varsql, db)
        Dim dr As SqlClient.SqlDataReader
        dr = cmd.ExecuteReader
        Dim inf As String = ""
        While dr.Read()
            inf = inf & dr.Item("Nome") & "," & dr.Item("CapitalSocial") & "," & dr.Item("Morada") & "," & dr.Item("CodigoPostal") & "," & dr.Item("Concelho") & "," & dr.Item("Telefone") & "," & dr.Item("Fax") & "," & dr.Item("NIF") & "," & dr.Item("NIB") & "," & dr.Item("Banco") '& Chr(13)
        End While
        MsgBox(inf, MsgBoxStyle.Information, "Todos os registos")
        db.Close()

Como é que faço... Sou verdinho nesta area...

Editado por quintelab
Adicionado BBCode Code
Link para o comentário
Compartilhar em outros sites

  • 0
então João, se o que você quer é só preencher, vai como eu uso no VB6, não sei se a mesma forma, mas não custa tentar..

textBox1.text = dr("campo_referente")

ou

textBox1.text = dr.item("campo_referente")

Amigo raphael consegui fazer o que queria.... :)

Agora só me falta neste form alterar o codigo a modo que possa alterar os dados desse form, de forma a seja impossivel inserir novos registos, apenas alterar o registo na base de dados....

Abraços e origado pela ajuda

Link para o comentário
Compartilhar em outros sites

  • 0
cria um botão salvar, e nele coloca a função de UPDATE, não esquece de usar o where para filtra o registro que deseja atualizar e não a tabela toda.

Amigo é o seguinte eu quero alterar todo o registo da base de dados, (pois é apenas um) mas o meu problema é ao programar... Já programei de uma maneira, so que o problema é que não consigo aceder de novo aos dados... Ou seja os dados não aparecem, mas se retirar as linhas de codigo que inseri aparece de novo... Sera que me pode enviar um exemplo?

.... Abrços

Link para o comentário
Compartilhar em outros sites

  • 0
cara.. onde você está colocando esse codigo?? e como assim, " não consigo aceder de novo aos dados"... me passa seu codigo, pois uma coisa é o codigo no Form_load e outra é no botão

É assim meu codigo do form load é:

Private Sub FormEmpresa_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'TODO: This line of code loads data into the 'GestSalDataSet.Empresa' table. You can move, or remove it, as needed.
        'Me.EmpresaTableAdapter.Fill(Me.GestSalDataSet.Empresa)
        NomeTextBox.MaxLength = 50
        'CapitalSocialMaskedTextBox.Mask = "00000"
        MoradaTextBox.MaxLength = 50
        CodigoPostalTextBox.MaxLength = 10
        ConcelhoTextBox.MaxLength = 50
        TelefoneTextBox.MaxLength = 9
        FaxTextBox.MaxLength = 9
        NIFTextBox.MaxLength = 9
        'NIBMaskedTextBox.Mask = "000000000000000000000"
        BancoTextBox.MaxLength = 50
        Const constr As String = "Data Source=JOÃONASCIMEN-PC\SQLEXPRESS;Initial Catalog=GestSal;Integrated Security=True;Pooling=False"
        Dim db As New SqlClient.SqlConnection(constr)
        db.Open()
        Dim varsql As String
        varsql = "Select * from Empresa"
        Dim cmd As New SqlClient.SqlCommand(varsql, db)
        Dim dr As SqlClient.SqlDataReader
        dr = cmd.ExecuteReader
        'Dim inf As String = ""
        While dr.Read()
            'inf = inf & dr.Item("Nome") & "," & dr.Item("CapitalSocial") & "," & dr.Item("Morada") & "," & dr.Item("CodigoPostal") & "," & dr.Item("Concelho") & "," & dr.Item("Telefone") & "," & dr.Item("Fax") & "," & dr.Item("NIF") & "," & dr.Item("NIB") & "," & dr.Item("Banco") '& Chr(13)
            NomeTextBox.Text = dr.Item("Nome")
            CapitalSocialMaskedTextBox.Text = dr.Item("CapitalSocial")
            MoradaTextBox.Text = dr.Item("Morada")
            CodigoPostalTextBox.Text = dr.Item("CodigoPostal")
            ConcelhoTextBox.Text = dr.Item("Concelho")
            TelefoneTextBox.Text = dr.Item("Telefone")
            FaxTextBox.Text = dr.Item("fax")
            NIFTextBox.Text = dr.Item("NIF")
            NIBMaskedTextBox.Text = dr.Item("NIB")
            BancoTextBox.Text = dr.Item("Banco")
        End While
        'MsgBox(inf, MsgBoxStyle.Information, "Todos os registos")
        db.Close()
    End Sub
O do botão alterar é:
Private Sub ButtonConfirmar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonConfirmar.Click
        If validar_dados() = False Then Exit Sub
        Dim adapter_empresa As New GestSalDataSetTableAdapters.EmpresaTableAdapter
        Dim tab_empresa As New GestSalDataSet.EmpresaDataTable
        Try
            adapter_empresa.Update(Me.NomeTextBox.Text, Me.CapitalSocialMaskedTextBox.Text, Me.MoradaTextBox.Text, Me.CodigoPostalTextBox.Text, Me.ConcelhoTextBox.Text, Me.TelefoneTextBox.Text, Me.FaxTextBox.Text, Me.NIFTextBox.Text, Me.NIBMaskedTextBox.Text, Me.BancoTextBox.Text, codempresa_anterior, nome_anterior, capitalsocial_anterior, morada_anterior, codigopostal_anterior, concelho_anterior, telefone_anterior, fax_anterior, nif_anterior, nib_anterior, banco_anterior, banco_anterior)
            MsgBox("Dados modificados com sucesso!", MsgBoxStyle.Information, Me.Text)
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub

Editado por quintelab
Adicionado BBCode Code
Link para o comentário
Compartilhar em outros sites

  • 0
cara.. onde você está colocando esse codigo?? e como assim, " não consigo aceder de novo aos dados"... me passa seu codigo, pois uma coisa é o codigo no Form_load e outra é no botão

cara consegui resolver meu problema...

agoraa apareceu outro não muito grave...

Diga-me so uma coisa

Esta linha de codigo esta correcta:

varsql = "update Empresa set nome='" & NomeTextBox.Text & "', CapitalSocial='" & CapitalSocialMaskedTextBox.Text & "', Morada='" & MoradaTextBox.Text & "', CodigoPostal='" & CodigoPostalTextBox.Text & "', Concelho='" & ConcelhoTextBox.Text & "',  Telefone='" & TelefoneTextBox.Text & "', Fax='" & FaxTextBox.Text & "', NIF='" & NIFTextBox.Text & "', NIB='" & NIBMaskedTextBox.Text & "', Banco='" & BancoTextBox.Text & "" & "where codempresa=6'"

responda por favor o mais breve possivel...

abraços

Editado por quintelab
Adicionado BBCode Code
Link para o comentário
Compartilhar em outros sites

  • 0
tente assim

Banco='" & BancoTextBox.Text & "' where codempresa= '" & 6 & "'"

lembrando que o 6 está entre aspas simples, o que significa que você está filtrando como se fosse uma string e não um valor numérico

Amigo funciona bem..... Obrigadao.....

:)

Tipo amigo se precisar de mais alguma ajuda devo abrir outro tópico ou postar aqui????

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...