COMBOBOX E LABEL

BRUNOGOMES 12/10/2012 17:38:06
#411953
Pessoal, estou com um form de cadastro... nele tem uma combobox populada com dados da tabela servico, onde é mostrado o nome do servico nessa combobox:

Dim con As New MySqlConnection([Ô]server=localhost; user id=root; password=admin; database=workshopmanager[Ô])
Dim dados3 As New DataSet
Dim comando3 As String = [Ô]SELECT * FROM servico[Ô]
Dim adaptador3 As New MySqlDataAdapter(comando3, con)
adaptador3.Fill(dados3, [Ô]servico[Ô])

With cmb_Servico
.ValueMember = [Ô]cod_Servico[Ô]
.DataSource = dados3.Tables(0)
.DisplayMember = [Ô]nome_Servico[Ô]
End With


Eu quero q ao selecionar alguma opçao desse combobox, que o campo valor_Servico seja inserido na label: lbl_valortext:
Estou fazendo isso:

Private Sub cmb_Servico_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmb_Servico.SelectedIndexChanged
Dim valorServico as string
Dim con As New MySqlConnection([Ô]server=localhost; user id=root; password=admin; database=workshopmanager[Ô])
Dim cmd As New MySqlCommand
Dim reader As MySqlDataReader
cmd = con.CreateCommand
con.Open()
With cmd
cmd.CommandType = CommandType.Text
cmd.CommandText = [Ô]select valor_Servico from servico where nome_Servico = @servico[Ô]
cmd.Parameters.Add([Ô]@servico[Ô], MySqlDbType.VarChar)
cmd.Parameters([Ô]@servico[Ô]).Value = cmb_Servico.SelectedValue
cmd.ExecuteNonQuery()
End With
reader = cmd.ExecuteReader
reader.Read()
valorServico = reader([Ô]valor_Servico[Ô])
lbl_valortext.Text = valorServico
reader.Close()
con.Close()
End Sub
End Class


Mas quando abro o form jah ocorre um erro nessa linha: [Ô]valorServico = reader([Ô]valor_Servico[Ô])[Ô]
dizendo: [Ô]Invalid attempt to access a field before calling Read()[Ô]

Podem me ajudar? valeu, abraço
FILMAN 12/10/2012 20:22:12
#411965
Retire o ExecuteNonQuery
BRUNOGOMES 12/10/2012 20:31:29
#411966
continua o mesmo erro
BRUNOGOMES 12/10/2012 21:19:37
#411967
consegui usar esse codigo dentro de um button.. funcionou direitinho.. =/

mas queria fazer com que fosse mudando no combobox jah fose mudando lah... serah q n eh o evento do combobox q tem q mudar ??
OMAR2011 12/10/2012 22:57:21
#411969
O meu teste foi deste jeito.

Private Sub cmb_Servico_Click(sender As Object, e As System.EventArgs) Handles cmb_Servico.Click
Dim valorServico As String
Dim con As New MySqlConnection([Ô]server=localhost; user id=root; password=admin; database=workshopmanager[Ô])
Dim cmd As New MySqlCommand
Dim reader As MySqlDataReader
cmd = con.CreateCommand
con.Open()
With cmd
cmd.CommandType = CommandType.Text
cmd.CommandText = [Ô]select valor_Servico from servico where nome_Servico = [ô][Ô] & cmb_Servico.Text & [Ô][ô][Ô]
[ô]cmd.Parameters.Add([Ô]@servico[Ô], MySqlDbType.Double)
[ô] cmd.Parameters([Ô]@servico[Ô]).Value = cmb_Servico.SelectedValue
cmd.ExecuteNonQuery()
End With
reader = cmd.ExecuteReader
reader.Read()

valorServico = reader([Ô]valor_Servico[Ô])

lbl_valortext.Text = valorServico

reader.Close()
con.Close()
End Sub

Funciona normalmente no click.
BRUNOGOMES 12/10/2012 23:15:22
#411970
OMAR2011

Como vc fez cara?? estou tentando fazer no evento click da combobox q nem vc fez ae.. mas n vai.. da erro no mesmo lugar...

só funciona aqui se ponho o codigo dentro de um button... =/
OMAR2011 13/10/2012 09:04:28
#411983
Eu não uso isto.

[txt-color=#e80000] cmd.CommandType = CommandType.Text
cmd.CommandText = [Ô]select valor_Servico from servico where nome_Servico = @servico[Ô]
cmd.Parameters.Add([Ô]@servico[Ô], MySqlDbType.VarChar)
cmd.Parameters([Ô]@servico[Ô]).Value = cmb_Servico.SelectedValue
cmd.ExecuteNonQuery()[/txt-color]

Olha com eu faço.

cmd.CommandType = CommandType.Text
cmd.CommandText = [Ô]select valor_Servico from servico where nome_Servico = [ô][Ô] & cmb_Servico.Text & [Ô][ô][Ô]
cmd.ExecuteNonQuery()
BRUNOGOMES 13/10/2012 09:49:34
#411985
OMAR2011 eu copiei o seu codigo mas mesmo assim n fuciona aqui =/
é no evento click do combobox mesmo ??
BRUNOGOMES 14/10/2012 02:17:27
#412029
alguem ae pode ajudae?? estou conseguindo usar o codigo somente denrto de um button..... no combobox n vai..
OMAR2011 14/10/2012 14:07:35
#412032
Private Sub cmb_Servico_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmb_Servico.SelectedIndexChanged
Dim valorServico as string
Dim con As New MySqlConnection([Ô]server=localhost; user id=root; password=admin; database=workshopmanager[Ô])
Dim cmd As New MySqlCommand
Dim reader As MySqlDataReader
cmd = con.CreateCommand
con.Open()
With cmd
cmd.CommandType = CommandType.Text
cmd.CommandText = [Ô]select valor_Servico from servico where nome_Servico = @servico[Ô]
cmd.Parameters.Add([Ô]@servico[Ô], MySqlDbType.VarChar)
cmd.Parameters([Ô]@servico[Ô]).Value = cmb_Servico.SelectedValue
cmd.ExecuteNonQuery()
End With
reader = cmd.ExecuteReader
[ô] [txt-color=#e80000]reader.Read()[/txt-color]
[ô]Este de vermelho você coloca uma aspas simples nele.
[ô]Então vai ficar
If (reader.Read()) Then
valorServico = reader([Ô]valor_Servico[Ô])
lbl_valortext.Text = valorServico
End If
reader.Close()
con.Close() End Sub
End Class
BRUNOGOMES 14/10/2012 14:17:17
#412033
Nao funcionou =/..
agora nao deu erro nenhum.. eu escolho o serviço na combobox mais o valor nao aparece na label.
Página 1 de 2 [15 registro(s)]
Tópico encerrado , respostas não são mais permitidas