none
Registro em Combobox e INSERT RRS feed

  • Pergunta

  • Pessoal, estou com uma duvida..
    Meu banco 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."


    • Editado brunaum15 sexta-feira, 5 de outubro de 2012 16:15
    sexta-feira, 5 de outubro de 2012 15:26

Respostas