none
Dados Inconpativel RRS feed

  • Pergunta

  • Boa tarde amigos da MSDN!

    Pessoal to com um problema aqui de incompatibilidade de dados, ja efetuei mudanças e nada.

    To varendo um ListView, pegando dados e Inserindo em um Banco Dados Access, por parametros.
    Esse é meu codigo!
    =========================================================================

    Dim itens4 As List(Of String) = New List(Of String)

    For Each itemQuar As ListViewItem In LtTelaVenda.Items
    itens4.Add(itemQuar.SubItems(0).Text)
    itens4.Add(itemQuar.SubItems(2).Text)

     Dim Comando4 As New OleDbCommand
     Comando4.CommandText = "INSERT INTO TBProdutoVenda (CodBarraProduto, quantidade, valorUnitario)" & "VALUES (?, ?, ?)"

    Comando4.Parameters.Clear()
    Comando4.Parameters.Add("@CodBarraProduto", System.Data.OleDb.OleDbType.VarChar, 20).Value = itemQuar.SubItems(1).Text
    Comando4.Parameters.Add("@quantidade", System.Data.OleDb.OleDbType.VarChar, 30).Value = contitens
    Comando4.Parameters.Add("@valorUnitario", System.Data.OleDb.OleDbType.VarChar, 30).Value = itemQuar.SubItems(2).Text

    ============================================================================

    Amigos o problema ta no codigo em negrito, ali pego um valor valor "30" no listView, mas quando passo o valor por parametros ele da o seguinte erro:
                 erro: TIPO DE DADOS INCOMPATÍVEL NA EXPRESSÃO DE CRITÉRIO

    Amigos no campo do Banco de dados ja efetuei mudanças para, texto, numero, e nada.Fiz mudanças tambem no codigo do parametro. onde ta Varchar,

    Espero ter sido bem claro!

    Até mais é um ótimo Domingo para todos


    Anderson.mds

    domingo, 9 de outubro de 2016 17:08

Respostas

  • Os campos da sua tabela são de que tipo ?
    CodBarraProduto, quantidade, valorUnitario todos são do tipo texto ? pois você esta configurando seus parametros com varchar, 30 creio que seja por isso a mensagem de erro, agora outro ponto você pode retirar de dentro do FOREACH a linha Dim Comando4 As New OleDbCommand coloca ela fora do FOREACH dessa forma você instancia sua variave uma unica vez e no final de tudo de preferencia dentro da instrução Finally de um try catch você executa um dispose nessa variavel command CMD

    Junior

    • Marcado como Resposta anderson.mds segunda-feira, 10 de outubro de 2016 00:55
    segunda-feira, 10 de outubro de 2016 00:01