HELP COMBOBOX SQL SERVER

CLEITONJMC 07/11/2013 15:01:50
#430848
Olá pessoal!!

Estou com algumas dificuldades com combobox e sql server, conheço muito pouco de vb por isso peço a ajuda de vocês aqui.

Bom o meu problema é o seguinte quando faço a conexão do combobox ao meu bd ele traz a listagem completa até ai tudo bem, porem gostaria que no primeiro item desta listagem aparecesse a palavra [Ô]Todos[Ô] e não o primeiro item do meu bd, sem ter a necessidade de incluir no bd este campo Todos.

Ja tentei combobox1.Items.Add([Ô]Todos[Ô]) porem sem sucesso, pois quando ele carrega o banco não aparece o Todos em primeiro.

NETMANIA 07/11/2013 15:13:15
#430850
No meu código eu faço assim

[ô]Alimenta o Dataset com os resultados
dsDados = Seu dataset

[ô]Cria a nova linha
drDados = dsDados.Tables(0).NewRow

[ô]Campos que você trouxe do banco
drDados([Ô]campo_codigo[Ô]) = -1
drDados([Ô]campo_descritivo[Ô]) = [Ô]--- SELECIONE ---[Ô]

[ô]Adiciona a informação do [Ô]Selecione[Ô]
dsDados.Tables(0).Rows.InsertAt(drDados, 0)
CLEITONJMC 07/11/2013 16:00:32
#430858
Não deu certo amigo,

Para realizar o preenchimento do combobox utilizo o codigo abaixo,

Private Sub Form5_Load(sender As Object, e As EventArgs) Handles MyBase.Load

[ô]FUNCIONA SOMENTE SE COMBOBOX NÃO CONCTAR AO BD
combobox1.Items.Add([Ô]Todos[Ô])

If Not preenchicombo(combobox1, [Ô]codigo[Ô], [Ô]descricao[Ô], [Ô]consulta sql server[Ô], [Ô]nome da tabela[Ô]) Then
MsgBox([Ô]Não foi possivel preencher combobox[Ô], MsgBoxStyle.Information, [Ô]Erro ao conectar[Ô])
End If

End Sub
NETMANIA 07/11/2013 16:37:12
#430859
Você pode postar o código esta função? Deste jeito não tenho como saber como ela funciona internamente.
CLEITONJMC 07/11/2013 16:51:31
#430861
Segue o codigo completo

Private Sub Form5_Load(sender As Object, e As EventArgs) Handles MyBase.Load

combobox1.Items.Add([Ô]Todos[Ô]) [ô]CODIGO FUNCIONA SOMENTE SE COMBOBOX NÃO CONCTAR AO BD

If Not preenchicombo(combobox1, [Ô]codigo[Ô], [Ô]descricao[Ô], [Ô]consulta sql server[Ô], [Ô]nome da tabela[Ô]) Then
MsgBox([Ô]Não foi possivel preencher combobox[Ô], MsgBoxStyle.Information, [Ô]Erro ao conectar[Ô])
End If

End Sub

Private Function preenchicombo(combobox As ComboBox, codigo As String, descricao As String, consulta As String, nomeTabela As String) As Boolean
con = New SqlConnection(strCon)
adpt = New SqlDataAdapter(consulta, con)
tabela = New DataTable(nomeTabela)

Try
con.Open()
adpt.Fill(tabela)

If tabela.DefaultView.Count > 0 Then
combobox.ValueMember = codigo
combobox.DisplayMember = descricao
combobox.DataSource = tabela.DefaultView

End If
Catch ex As Exception
MsgBox([Ô]Não foi possivel conectar ao Banco!! [Ô] & vbCrLf & ex.ToString, MsgBoxStyle.Information, [Ô]Erro ao Conectar[Ô])
Return False
Finally
con.Dispose()
adpt.Dispose()
End Try

Return True
End Function
CLEITONJMC 07/11/2013 17:54:09
#430866
ALGUéM PODE ME AJUDAR COM ISSO ?????????????????
NETMANIA 08/11/2013 08:31:44
#430879
Bom dia.

Fiz uma adaptação na sua procedure. Veja se agora funciona


Private Function preenchicombo(combobox As ComboBox, codigo As String, descricao As String, consulta As String, nomeTabela As String) As Boolean

[ô]Declaração dos objetos
Dim drDados As DataRow

con = New SqlConnection(strCon)
adpt = New SqlDataAdapter(consulta, con)
tabela = New DataTable(nomeTabela)

Try
con.Open()
adpt.Fill(tabela)

If tabela.DefaultView.Count > 0 Then

[ô]Seu código original
combobox.ValueMember = codigo
combobox.DisplayMember = descricao

[ô]Cria a nova linha
drDados = dsDados.Tables(0).NewRow

[ô]Campos que você trouxe do banco
drDados([Ô]codigo[Ô]) = -1
drDados([Ô]descricao[Ô]) = [Ô]--- SELECIONE ---[Ô]

[ô]Adiciona a informação do [Ô]Selecione[Ô]
tabela.Tables([Ô]tabela[Ô]).Rows.InsertAt(drDados, 0)

[ô]Alimenta o combo
combobox.DataSource = tabela.DefaultView

End If

Catch ex As Exception
MsgBox([Ô]Não foi possivel conectar ao Banco!! [Ô] & vbCrLf & ex.ToString, MsgBoxStyle.Information, [Ô]Erro ao Conectar[Ô])
Return False
Finally
con.Dispose()
adpt.Dispose()
End Try

Return True
End Function
CLEITONJMC 08/11/2013 11:17:47
#430904
Amigo não deu certo =/

Da erro nas seguintes linhas

drDados = [txt-color=#e80000]dsDados[/txt-color].Tables(0).NewRow

e

tabela.[txt-color=#e80000]Tables[/txt-color]([Ô]tabela[Ô]).Rows.InsertAt(drDados, 0)

adicionei o dsDados como Private Property dsDados As Object porem mesmo assim não funcionou
Tópico encerrado , respostas não são mais permitidas