Tenho um jcombobox com os nomes dos meus clientes.
Quando selecionar um determinado cliente quero que seja fornecido o numero(chave da tabela do banco) do cliente.
Tenho um jcombobox com os nomes dos meus clientes.
Quando selecionar um determinado cliente quero que seja fornecido o numero(chave da tabela do banco) do cliente.
Utilize essa lógica
String nomecliente=comboBox,getSelectedValue();
Depois vc vai no Banco de Dados e faz uma seleção
Select numCliente from Cliente where nomecliente=nomeCliente.
Isso é apenas uma lógica,os nomes de tabela,campos e objetos,devem ser trocados segundo a sua necessidade
Verifique se o nome do cliente não pode se repetir…
Se dois clientes tiverem o mesmo nome, será muito difícil você acessar o que estiver localizado abaixo no BD.
Para não ter esse problema, acho que vc deveria fazer com que o nome seja unico na tabela (chave, não precisa ser primária, mas deve ser unique).
E também não acessaria o banco novamente como o gustavo.magni citou.
Vc ja deve ter acessado o banco uma vez para popular o combo certo? Quando acessar, armazene uma lista de objetos do tipo cliente… depois é só vc buscar o cliente que tem nome igual o item selecionado e pegar o id desse objeto (q vc tirou do banco). Assim vc evitaria de acessar novamente o BD.
[quote=paulohrl]Verifique se o nome do cliente não pode se repetir…
Se dois clientes tiverem o mesmo nome, será muito difícil você acessar o que estiver localizado abaixo no BD.
Para não ter esse problema, acho que vc deveria fazer com que o nome seja unico na tabela (chave, não precisa ser primária, mas deve ser unique).
E também não acessaria o banco novamente como o gustavo.magni citou.
Vc ja deve ter acessado o banco uma vez para popular o combo certo? Quando acessar, armazene uma lista de objetos do tipo cliente… depois é só vc buscar o cliente que tem nome igual o item selecionado e pegar o id desse objeto (q vc tirou do banco). Assim vc evitaria de acessar novamente o BD.[/quote]
Vc está correto não há necessidade de entrar no Banco,se o mesmo já tiver feito,concordo com você
Em vista do que foi escrito acima…só te diria para colocar essa função no JComboBox como ONFOCUS LOST…desse jeito sempre q a pessoa clicar no combo ela ganha o focus e quando clicar fora…o evento é disparado…recendo o item do combobox
jComboBox_xxx.getSelectedItem();
e não getValue(); embora talvez funcione tb…
agora se vc vai buscar isso no banco toda vez…ou se vai armazenar numa varíavel…aí vc decide de acordo com o que for mais conveniente…
[/]'s
[quote=jubeneve]Tenho um jcombobox com os nomes dos meus clientes.
Quando selecionar um determinado cliente quero que seja fornecido o numero(chave da tabela do banco) do cliente.[/quote]
O correto é usar o Model desse JComboBox, e em vez de usar um array ou lista de Strings, usar um array ou lista de objetos - cada objeto contendo dois campos, pelo menos: o visualizado e a chave da tabela do banco.
Sugiro que você utilize um objeto Cliente que contenha o nome e o identificador (e outras informações se quiser). Para que o nome do cliente seja retornado no combo, você deve sobrepor o método toString() e retornar o nome do cliente.
Desta forma, quando você recuperar o item selecionado, você obtém um objeto Cliente e pode obter o id, o nome ou o que você quiser…
Esta idéia de colocar nome e id vem muito da programação para web… Quando trabalhamos com Desktop podemos pensar somente em objetos!!!
obrigado a todos, agora eu tenho um caminho para seguir estava meio perdido :lol: