Array
(
)

Mostrar id e nome no ComboBox

Jair Souza
   - 18 set 2015

Olá, tem como carregar na lista do combobox o id e o nome, semelhante a esta imagem abaixo ?
É em windowsform C#, o id e o nome estão no Banco de Dados.
Clique na imagem para abrir em uma nova janela

Jothaz
   - 18 set 2015

Na sua consulta retorne um campo com o dois valores concatenados e depois utilize em .DisplayMember.

Jair Souza
   - 19 set 2015

Esta é a consulta, como se concatena ?

SELECT IDLocatario, Nome

FROM Locatario

WHERE (Status IS NULL)

E como coloco no Display Member ?

Jothaz
   - 20 set 2015

Não me leve a mal, mas tem de estudar SQL se quer desenvolver, senão não vais a lugar nenhum.

Sugiro um consulta junto ao pai Google sql concatenate int com varchar

Leandro Silva
   - 20 set 2015

Você tem que buscar do dataset.
Mais ou menos isso aqui:
Combobox.text = seudataset.ID.ToString() + " - " + seudataset.nome

Leandro Silva
   - 20 set 2015

Depende do banco que você está utilizando. Qual é?

Jair Souza
   - 20 set 2015

O banco é ACCESS.

Jair Souza
   - 20 set 2015

Certo, este projetinho que estou fazendo é para estudo...e quando termina o meu pequeno conhecimento, busco no google mesmo, mas neste caso como em outras vezes, não encontrei nada que me esclarecesse...

Leandro Silva
   - 20 set 2015

(Campo1 & " - " & Campo2) as nomeNovoCampo

Jair Souza
   - 20 set 2015

Segui a sua dica, mas ao tentar testar na query builder, fecha todo visual studio...

Clique na imagem para abrir em uma nova janela

Leandro Silva
   - 20 set 2015


Citação:
Segui a sua dica, mas ao tentar testar na query builder, fecha todo visual studio...

Clique na imagem para abrir em uma nova janela


Jair, eu nunca utilizei o access em sistema nenhum, só no início para estudos.
Teste colocar entre parênteses e utilizar o "as novoNomeCampo".

Obs.: sem aspas.

Jothaz
   - 20 set 2015

#Código

SELECT [id] & "-" & [nome] AS Expr1, Tabela1.id, Tabela1.nome
FROM Tabela1;


Resultado:

Clique na imagem para abrir em uma nova janela

Jair Souza
   - 21 set 2015

Fiz assim, mas quando tento avançar para salvar ou testar, fecha o visual studio...

Clique na imagem para abrir em uma nova janela

Jothaz
   - 21 set 2015

#Código

SELECT Convert(id,varchar) + "-" + nome AS Expr1
FROM Tabela1;

Jair Souza
   - 21 set 2015

Agora o visual não fecha, mas dá este erro...tentei fazer alguns ajustes mas não adiantou...

Clique na imagem para abrir em uma nova janela

Jothaz
   - 21 set 2015

Nunca usei Access com WindowsForm C#, mas sei que o SQL do Access é cheio de frescuras.

A primeira expressão que postei funciona no Access.

Vamos tentar assim:
#Código

 SELECT Str(id) + "-" + nome AS Expr1
FROM Tabela1


Se o erro persistir, não sei como ajudar, você vai ter efetuar vários teste e achar a solução.

Fernando C
   - 21 set 2015

operador de concatenação no Access é &;
portanto, na SQL tente assim:
#Código

SELECT (id&nome) as "nome completo" from TABELA where bla bla bla;
.obs: esse "as" é obrigatório (de fato, Access é cheio de "coisa"..)..
ops.. corrigindo, não tinha reparado que tem um tracinho, espaços...:
#Código
( id&" "&"-"&" "&nome)

Jair Souza
   - 21 set 2015

Aqui funcionou...

Clique na imagem para abrir em uma nova janela

Mas como carregar no combobox, não deixa alterar o display member... ?

Clique na imagem para abrir em uma nova janela

Jair Souza
   - 22 set 2015

Com sua dica com SELECT (IDLocatario&" "&"-"&" "&Nome) as Nome, dá erro e fecha todo visual Studio...

Assim como disse o JOTHAZ, aqui na query builder funciona, e coloquei “AS Nome”, para no value member combobox chamar por “Nome” que é um campo existente no BD :

Clique na imagem para abrir em uma nova janela

...mas ao selecionar um na lista do combobox, em vez de atualizar o TEXTBOX com o ID respectivo, está colocando um número negativo...e dá este erro...

Clique na imagem para abrir em uma nova janela

Tentei alguns ajustes...mas a falta de conhecimento não ajudou...

Jair Souza
   - 22 set 2015

Consegui, resolvido :

#Código

SELECT        Str(IDLocatario) + '  -  ' + Nome AS Nome, Nome AS Expr1


Clique na imagem para abrir em uma nova janela

Muito obrigado pela ajuda !