Jump to content

Select dados


Jony Rato
 Share

Recommended Posts

Boas pessoal

Estou com uma dúvida, que é a seguinte

Eu tenho duas tabelas: BnfP e a Bnf.

asd.png

O id_Bnf e o nome pertencem à tabela Bnf.

O id_BnfP pertence à tabela Bnfp.

Public Sub visualizarParentes()
con.Close()
con.Open()
beneficiarios_parentes.Items.Clear()
Dim TABLE As New DataTable(" beneficiariosparentes")
Dim sqlQuery As MySqlDataAdapter
sqlQuery = New MySqlDataAdapter("SELECT beneficiariosparentes.Id_Parente, beneficiariosparentes.Parente, beneficiariosparentes.Parentesco, beneficiariosparentes.NBeneficiario, beneficiariosparentes.Morada, beneficiarios.Id_Parente FROM beneficiarios, beneficiariosparentes WHERE beneficiariosparentes.Id_Parente = beneficiarios.Id_Parente ", con)
sqlQuery.Fill(TABLE)
For indx = 0 To TABLE.Rows.Count - 1
Dim lv As New ListViewItem
lv.Text = (TABLE.Rows(indx).Item("Id_Parente"))
lv.SubItems.Add(TABLE.Rows(indx).Item("Parente"))
lv.SubItems.Add(TABLE.Rows(indx).Item("Parentesco"))
lv.SubItems.Add(TABLE.Rows(indx).Item("NBeneficiario"))
lv.SubItems.Add(TABLE.Rows(indx).Item("Morada"))
beneficiarios_parentes.Items.Add(lv)
Next
TABLE.Dispose()
sqlQuery.Dispose()
ClearTable(TABLE)
End Sub

O que eu quero é quando estiver na ficha do Tiago (programa em visual basic), quero me apareça os dados do Id_parente que estão relacionados com ele.

O meu problema é que os dados do Id_parente que estão relacionados com o Tiago aparece também na ficha do Bruno.

No select já experimentei meter WHERE Nome= nome da caixa de texto, mas quando faço isso não aparece nada.

Edited by Jony Rato
Link to comment
Share on other sites

SELECT beneficiariosparentes.Id_Parente, beneficiariosparentes.Parente, beneficiariosparentes.Parentesco, beneficiariosparentes.NBeneficiario, beneficiariosparentes.Morada, beneficiarios.Id_Parente FROM beneficiariosparentes INNER JOIN beneficiarios ON beneficiariosparentes.Id_Parente = beneficiarios.Id_Parente WHERE beneficiarios.Nome ='" & nometxt.Text & "';"

Fiz assim, e continuo a ter o mesom problema, em que agora não me aparece nenhum

Link to comment
Share on other sites

boas,

se calhar o problema é como tens as tabelas estruturadas...

O meu problema é que os dados do Id_parente que estão relacionados com o Tiago aparece também na ficha do Bruno.

então quer dizer que as rows do Bruno e do Tiago tem o mesmo valor no campo Id_parente?

a imagem que postaste não aparece...

podias postar as tabelas no formato:


tabela A:
id | nome
========
1 | joão
2 | maria

em vez de escreveres "O id_Bnf e o nome pertencem à tabela Bnf." e fazeres o mesmo para o resultado do select

Link to comment
Share on other sites

boas,

se calhar o problema é como tens as tabelas estruturadas...

então quer dizer que as rows do Bruno e do Tiago tem o mesmo valor no campo Id_parente?

a imagem que postaste não aparece...

podias postar as tabelas no formato:


tabela A:
id | nome
========
1 | joão
2 | maria

em vez de escreveres "O id_Bnf e o nome pertencem à tabela Bnf." e fazeres o mesmo para o resultado do select

Tenho por exemplo a tabela assim:

tabela Bnf:
id_Bnf | nome | id_BnfP (foreign key)
==================
1 | Tiago |    2
2 | Tiago |    3
3 |  Bruno |   6

Só que no viisual basic quando vou ver a ficha do Tiago e aparecem todos os dados da outra tabela correspondentes ao id_BnfP, esses dados também aparecem na Ficha do Bruno, e os da ficha do Bruno também aparecem no tiago.

Se fizer com o Where Nome = nome da caixa de texto , não aparece nada

Edited by Jony Rato
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
 Share

×
×
  • 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.