Jump to content

Inserir vários valores numa só célula


Jony Rato

Recommended Posts

Boas pessoal

Estou com um problema.

Então é o seguinte, eu estou a criar uma aplicação em Visual Basic usando uma base de dados MySQL, e preciso de inserir dados numa coluna. Por exemplo tenho a coluna Id_Parente numa tabela chamada parentes, e na outra tabela, que se chama Beneficiários, tenho também essa coluna. Quando insiro um dado na tabela Beneficiários no campo Id_Parente, tudo bem, mas quando vou para adicionar mais um dado (um novo parente), em vez de adicionar um novo registo apenas faz um update naquele campo, eliminando o outro valor que lá estava.

Espero que me possam ajudar

Obrigado 🙂

Link to comment
Share on other sites

não estou a conseguir de todo perceber o que queres fazer e o que está a acontecer.

não consegues explicar de forma mais clara, nem que seja com apresentação de um exemplo, imagens ou mesmo um desenho ?

Então é o seguinte

Tenho 2 tabelas: Beneficiários e BeneficiariosParentes

Na tabela BeneficiariosParentes tenho um campo chamado Id_Parente, e tenho esse campo também na tabela beneficiários

Quando eu vou para adicionar o primeiro registo no campo Id_Parente (por exemplo adiciona o valor 1 ao id_parente) na tabela beneficiarios, tudo bem, ou seja estou a adicionar um parente ao beneficiario

Quando eu vou para adicionar mais outro parente a esse mesmo beneficiario (por exemplo id_parente 5), no campo Id_Parente em vez de adicionar (ficar o 1 e o 5) aquilo apaga o 1 e fica com o 5

O que eu quero é ficar com os dois registos naquela celula

Link to comment
Share on other sites

o problema é o código (SQL) que estás a usar para fazer a operação de inserção, e isso é algo que não estás a apresentar

Dim cmd As New MySqlCommand("SELECT * FROM beneficiarios WHERE Id_Parente='" & String.Empty & "' ", con)
    con.Close()
    con.Open()
    Dim reader As MySqlDataReader = cmd.ExecuteReader
    reader.Read()
    If nomeparente.Text = String.Empty And nbeneficiario_parente.Text = String.Empty And morada_parente.Text = String.Empty Then
	    MessageBox.Show("Preencha os dados!", "", MessageBoxButtons.OK, MessageBoxIcon.Information)
    ElseIf reader.HasRows = True Then
	    Console.WriteLine(ListaBeneficiarios.updateRecord("INSERT INTO beneficiarios (Nome,NrSocio, DataNascimento, ADSE, SNS, Vencimento, Morada, CodPostal, Localidade, TabelaComparticao, Profissao, Observacoes, NrMecanografico, Situacao, Id_Parente, Parente) VALUES ('" & ListaBeneficiarios.nometxt.Text & "', '" & ListaBeneficiarios.nsociotxt.Text & "', '" & ListaBeneficiarios.datanasctxt.Text & "', '" & ListaBeneficiarios.nadsetxt.Text & "', '" & ListaBeneficiarios.nsnstxt.Text & "', '" & ListaBeneficiarios.vencimentotxt.Text & "', '" & ListaBeneficiarios.moradatxt.Text & "', '" & ListaBeneficiarios.codpostaltxt.Text & "', '" & ListaBeneficiarios.localidadetxt.Text & "', '" & ListaBeneficiarios.tabela_comparticao.Text & "' , '" & ListaBeneficiarios.profissaotxt.Text & "', '" & ListaBeneficiarios.observacoestxt.Text & "', '" & ListaBeneficiarios.nmecanografico.Text & "', '" & ListaBeneficiarios.situacao_combo.Text & "', '" & id_parente.Text & "', '" & nomeparente.Text & "')"), con)
	    MessageBox.Show("Parente adicionado!", "", MessageBoxButtons.OK, MessageBoxIcon.Information)
	    ListaBeneficiarios.visualizarParentes()

    Else
	    Console.WriteLine(ListaBeneficiarios.updateRecord("UPDATE beneficiarios SET Id_Parente=('" & id_parente.Text & "') WHERE Nome='" & benef_txt.Text & "';"), con)
	    MessageBox.Show("Parente adicionado!", "", MessageBoxButtons.OK, MessageBoxIcon.Information)
	    ListaBeneficiarios.visualizarParentes()
    End If

Este é o meu código até agora, só que fico depois com aquele problema que já mencionei

Link to comment
Share on other sites

o que estou a ver no teu código são dois SQL's controlados por uma execução. um código SQL é para inserir e o outro é para actualizar um registo.

se o problema é executar um e/ou o outro, o problema está na condição que decide qual dos dois deve executar.

por outras palavras : afinal que condição é para ser determinada no if ?

IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

o que estou a ver no teu código são dois SQL's controlados por uma execução. um código SQL é para inserir e o outro é para actualizar um registo.

se o problema é executar um e/ou o outro, o problema está na condição que decide qual dos dois deve executar.

por outras palavras : afinal que condição é para ser determinada no if ?

Já consegui resolver, obrigado pela ajuda 😄

Link to comment
Share on other sites

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.