DADOS EM COMBOBOX E INSERT
                    Pessoal, estou com uma duvida..
Meu banco mysql possui duas tabelas: [Ô]Cliente e Veiculo[Ô]. A tabela veÃculo possui Foreign Key cod_Cliente da tabela Cliente.
Estou populando uma combobox em um form de cadastro de Veiculo, com o nome_Cliente da tabela Cliente.
Na hora de fazer o INSERT no veÃculo, quero inserir os dados do veiculo e o nome do cliente q aparecer na combobox quero transformá-lo no código do cliente q está esse nome e colocar no campo cod_Cliente da tabela VeÃculo. Dá pra enteder rs??
Fiz isso aqui mas nao funciona:
O erro acontece no .ExecuteNonQuery() e o visual studio manda isso: [Ô]Input string was not in a correct format.[Ô]
            Meu banco mysql possui duas tabelas: [Ô]Cliente e Veiculo[Ô]. A tabela veÃculo possui Foreign Key cod_Cliente da tabela Cliente.
Estou populando uma combobox em um form de cadastro de Veiculo, com o nome_Cliente da tabela Cliente.
Na hora de fazer o INSERT no veÃculo, quero inserir os dados do veiculo e o nome do cliente q aparecer na combobox quero transformá-lo no código do cliente q está esse nome e colocar no campo cod_Cliente da tabela VeÃculo. Dá pra enteder rs??
Fiz isso aqui mas nao funciona:
Private Sub frm_Veiculos_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim con As New MySqlConnection([Ô]server=localhost; user id=root; password=admin; database=workshopmanager[Ô])
        Dim dados As New DataSet
        btnPadrao()
        con.Open()
        Dim comando As String = [Ô]SELECT * FROM cliente[Ô]
        Dim adaptador As New MySqlDataAdapter(comando, con)
        adaptador.Fill(dados, [Ô]cliente[Ô])
        With cmb_Cliente
            .ValueMember = [Ô]cod_Cliente[Ô]
            .DataSource = dados.Tables(0)
            .DisplayMember = [Ô]nome_Cliente[Ô]
        End With
        con.Close()
    End Sub
Private Sub btn_Salvar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Salvar.Click
        btnSalvar()
        Dim con As New MySqlConnection([Ô]server=localhost; user id=root; password=admin; database=workshopmanager[Ô])
        Dim cmd As New MySqlCommand
        cmd = con.CreateCommand
     
        con.Open()
        With cmd
            .CommandType = CommandType.Text
            .CommandText = [Ô]INSERT INTO veiculo (placa_Veiculo, marca_Veiculo, modelo_Veiculo, ano_Veiculo, chassi_Veiculo, observacoes_Veiculo, horadata_Veiculo, cod_Cliente) VALUES (@placa, @marca, @modelo, @ano, @chassi, @obs, @hr, @codCiente)[Ô]
            .Parameters.Add([Ô]@placa[Ô], MySqlDbType.Int32)
            .Parameters([Ô]@placa[Ô]).Value = txt_placa.Text
            .Parameters.Add([Ô]@marca[Ô], MySqlDbType.VarChar)
            .Parameters([Ô]@marca[Ô]).Value = txt_marca.Text
            .Parameters.Add([Ô]@modelo[Ô], MySqlDbType.VarChar)
            .Parameters([Ô]@modelo[Ô]).Value = txt_modelo.Text
            .Parameters.Add([Ô]@ano[Ô], MySqlDbType.VarChar)
            .Parameters([Ô]@ano[Ô]).Value = txt_ano.Text
            .Parameters.Add([Ô]@chassi[Ô], MySqlDbType.VarChar)
            .Parameters([Ô]@chassi[Ô]).Value = txt_chassi.Text
            .Parameters.Add([Ô]@obs[Ô], MySqlDbType.VarChar)
            .Parameters([Ô]@obs[Ô]).Value = txt_obs.Text
            .Parameters.Add([Ô]@hr[Ô], MySqlDbType.VarChar)
            .Parameters([Ô]@hr[Ô]).Value = lbl_cadastroText.Text
            .Parameters.Add([Ô]@codCliente[Ô], MySqlDbType.VarChar)
            .Parameters([Ô]@codCliente[Ô]).Value = cmb_Cliente.ValueMember
            .ExecuteNonQuery()
        End With
        con.Close()
    End Sub
O erro acontece no .ExecuteNonQuery() e o visual studio manda isso: [Ô]Input string was not in a correct format.[Ô]
                    Boa tarde, 
DICA: Crie uma classe de conexão para o seu projeto. Pelo que percebi a cada SUB você passa: Host, Senha, Usuário... Já pensou na seguinte situação... Se precisar alterar o endereço do banco, você teria que procurar todas as subs e alterar, já com uma classe de conexão, basta alterar a classe que surtirá efeito em todo o projeto, ou seja, tudo em um único lugar.
Da forma que está fazendo para o Cod_Cliente você está passando cod_Cliente e não o valor da chave, repare que nas ultimas linhas mudei de ValueMember para SelectedValue, que é o valor do ID do Cliente.
Tente assim:
            DICA: Crie uma classe de conexão para o seu projeto. Pelo que percebi a cada SUB você passa: Host, Senha, Usuário... Já pensou na seguinte situação... Se precisar alterar o endereço do banco, você teria que procurar todas as subs e alterar, já com uma classe de conexão, basta alterar a classe que surtirá efeito em todo o projeto, ou seja, tudo em um único lugar.
Da forma que está fazendo para o Cod_Cliente você está passando cod_Cliente e não o valor da chave, repare que nas ultimas linhas mudei de ValueMember para SelectedValue, que é o valor do ID do Cliente.
Tente assim:
Private Sub btn_Salvar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Salvar.Click
        btnSalvar()
        Dim con As New MySqlConnection([Ô]server=localhost; user id=root; password=admin; database=workshopmanager[Ô])
        Dim cmd As New MySqlCommandr
        cmd = con.CreateCommand
     
        con.Open()
        With cmd
            .CommandType = CommandType.Text
            .CommandText = [Ô]INSERT INTO veiculo (placa_Veiculo, marca_Veiculo, modelo_Veiculo, ano_Veiculo, chassi_Veiculo, observacoes_Veiculo, horadata_Veiculo, cod_Cliente) VALUES (@placa, @marca, @modelo, @ano, @chassi, @obs, @hr, @codCiente)[Ô]
            .Parameters.Add([Ô]@placa[Ô], MySqlDbType.Int32)
            .Parameters([Ô]@placa[Ô]).Value = txt_placa.Text
            .Parameters.Add([Ô]@marca[Ô], MySqlDbType.VarChar)
            .Parameters([Ô]@marca[Ô]).Value = txt_marca.Text
            .Parameters.Add([Ô]@modelo[Ô], MySqlDbType.VarChar)
            .Parameters([Ô]@modelo[Ô]).Value = txt_modelo.Text
            .Parameters.Add([Ô]@ano[Ô], MySqlDbType.VarChar)
            .Parameters([Ô]@ano[Ô]).Value = txt_ano.Text
            .Parameters.Add([Ô]@chassi[Ô], MySqlDbType.VarChar)
            .Parameters([Ô]@chassi[Ô]).Value = txt_chassi.Text
            .Parameters.Add([Ô]@obs[Ô], MySqlDbType.VarChar)
            .Parameters([Ô]@obs[Ô]).Value = txt_obs.Text
            .Parameters.Add([Ô]@hr[Ô], MySqlDbType.VarChar)
            .Parameters([Ô]@hr[Ô]).Value = lbl_cadastroText.Text
            .Parameters.Add([Ô]@codCliente[Ô], MySqlDbType.VarChar)
            .Parameters([Ô]@codCliente[Ô]).Value = cmb_Cliente.SelectedValue
            .ExecuteNonQuery()
        End With
        con.Close()
    End Sub
                
                    Coloquei o selectedvalue no combobox: cmb_Cliente.SelectedValue
e o erro mudou para [Ô]Fatal error encountered during command execution.[Ô]
            e o erro mudou para [Ô]Fatal error encountered during command execution.[Ô]
                    Coloquie assim:
 
            With cmd
            .CommandType = CommandType.Text
            .CommandText = [Ô]INSERT INTO veiculo (placa_Veiculo, marca_Veiculo, modelo_Veiculo, ano_Veiculo, chassi_Veiculo, observacoes_Veiculo, horadata_Veiculo, cod_Cliente) VALUES (@placa, @marca, @modelo, @ano, @chassi, @obs, @hr, @codCiente)[Ô]
            .Parameters.Add([Ô]@placa[Ô], MySqlDbType.Int32, txt_placa.Text)
            .Parameters.Add([Ô]@marca[Ô], MySqlDbType.VarChar,txt_marca.Text)
            .Parameters.Add([Ô]@modelo[Ô], MySqlDbType.VarChar, txt_modelo.Text)
            .Parameters.Add([Ô]@ano[Ô], MySqlDbType.VarChar, txt_ano.Text)
            .Parameters.Add([Ô]@chassi[Ô], MySqlDbType.VarChar, txt_chassi.Text)
            .Parameters.Add([Ô]@obs[Ô], MySqlDbType.VarChar,  txt_obs.Text)
            .Parameters.Add([Ô]@hr[Ô], MySqlDbType.VarChar, lbl_cadastroText.Text)
            .Parameters.Add([Ô]@codCliente[Ô], MySqlDbType.VarChar, cmb_Cliente.SelectedValue)
            .ExecuteNonQuery()
        End With
                
                    Oxi... com esse codigo que vc passou ae... 
Agora ele quer transformar tudo pra Integer...
pra todos ele da esse erro: [Ô]Conversion from string [Ô] HGA-1234[Ô] to type [ô]Integer[ô] is not valid.[Ô] <<< exemplo da placa
mas ta dando esse erro em todos...
            Agora ele quer transformar tudo pra Integer...
pra todos ele da esse erro: [Ô]Conversion from string [Ô] HGA-1234[Ô] to type [ô]Integer[ô] is not valid.[Ô] <<< exemplo da placa
mas ta dando esse erro em todos...
Citação:Oxi... com esse codigo que vc passou ae...
Agora ele quer transformar tudo pra Integer...
Mas o código que você passou primeiro lá já está colocando como se o campo no mysql fosse Integer, onde tem MySqlDbType...., é o tipo do campo no banco de dados, nos parâmetros tem que ser o mesmo tipo.
Ex: Placa do carro é to tipo Varchar então seria
.Parameters.Add([Ô]@placa[Ô], MySqlDbType.Varchar, txt_placa.Text)
                
                    ahh foi mal.. na placa eu coloquei errado ae... eh varchar mesmo..
mas os outros mesmo sendo varchar ta dando o mesmo erro!! nao sei pq, ta acontecendo só com esse codigo q vc mandou...
            mas os outros mesmo sendo varchar ta dando o mesmo erro!! nao sei pq, ta acontecendo só com esse codigo q vc mandou...
                    Qual mensagem de erro ocorre?
                
            
                    A mensagem que eu passei lah da placa.. da em todos
[Ô]Conversion from string [Ô] oq eu escrevi na textbox [Ô] to type [ô]Integer[ô] is not valid.[Ô]
 
                
            [Ô]Conversion from string [Ô] oq eu escrevi na textbox [Ô] to type [ô]Integer[ô] is not valid.[Ô]
                    Esses campos no banco eles não estão como INT?
                
            
                    banco de dados:
Create table Veiculo (
cod_Veiculo integer unsigned primary key not null auto_increment,
placa_Veiculo varchar(30),
marca_Veiculo varchar(30),
modelo_Veiculo varchar(40),
ano_Veiculo varchar(5),
chassi_Veiculo varchar(30),
observacoes_Veiculo varchar(100),
horadata_Veiculo varchar(30),
cod_Cliente integer unsigned not null,
Foreign Key (cod_Cliente) references Cliente (cod_Cliente)) ENGINE=INNODB;
            Create table Veiculo (
cod_Veiculo integer unsigned primary key not null auto_increment,
placa_Veiculo varchar(30),
marca_Veiculo varchar(30),
modelo_Veiculo varchar(40),
ano_Veiculo varchar(5),
chassi_Veiculo varchar(30),
observacoes_Veiculo varchar(100),
horadata_Veiculo varchar(30),
cod_Cliente integer unsigned not null,
Foreign Key (cod_Cliente) references Cliente (cod_Cliente)) ENGINE=INNODB;
                        Tópico encerrado , respostas não são mais permitidas