Jony Rato Posted November 26, 2015 at 11:22 AM Report Share #590108 Posted November 26, 2015 at 11:22 AM 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 More sharing options...
HappyHippyHippo Posted November 26, 2015 at 12:10 PM Report Share #590109 Posted November 26, 2015 at 12:10 PM qual é mesmo o problema ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
Jony Rato Posted November 26, 2015 at 12:13 PM Author Report Share #590110 Posted November 26, 2015 at 12:13 PM qual é mesmo o problema ? Eu em vez de querer que aquilo apague o registo anterior, queria saber se é possivel se ao fazer o insert adicionar mais que um dado naquela célula e separar por exemplo por virgulas Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted November 26, 2015 at 12:48 PM Report Share #590111 Posted November 26, 2015 at 12:48 PM 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 ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
Jony Rato Posted November 26, 2015 at 12:53 PM Author Report Share #590112 Posted November 26, 2015 at 12:53 PM 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 More sharing options...
HappyHippyHippo Posted November 26, 2015 at 12:59 PM Report Share #590113 Posted November 26, 2015 at 12:59 PM 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 IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
Jony Rato Posted November 26, 2015 at 01:02 PM Author Report Share #590114 Posted November 26, 2015 at 01:02 PM 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 More sharing options...
vikcch Posted November 26, 2015 at 01:59 PM Report Share #590118 Posted November 26, 2015 at 01:59 PM acho que podes usar a função concat: UPDATE beneficiarios SET Id_Parente = CONCAT(Id_Parente, '" & id_parente.Text & "',';') WHERE Nome='" & benef_txt.Text & "' Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted November 26, 2015 at 02:32 PM Report Share #590123 Posted November 26, 2015 at 02:32 PM 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 Portugol Plus Link to comment Share on other sites More sharing options...
Jony Rato Posted November 27, 2015 at 09:03 AM Author Report Share #590135 Posted November 27, 2015 at 09:03 AM 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 More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now