none
INstrução Sql dando o erro: "Tipo de dados incompatível na expressão de critério" RRS feed

  • Pergunta

  • Dim cn As New OleDb.OleDbConnection
            cn.ConnectionString = "Provider=Microsoft.Jet.OleDb.4.0; Data Source=" & caminho & ""
            cn.Open()
    
            Dim st As Long
    
            st = TXTId.Text
    
            Dim myCmd As New OleDb.OleDbCommand
            myCmd.Connection = cn
    
            myCmd.CommandText = "UPDATE Processo SET Ano = '" + Me.TXTAno.Text + "'," + "Autos = '" + Me.TXTAutos.Text + "'" + "WHERE Id ='" + Me.TXTId.Text + "'"
            myCmd.ExecuteNonQuery()
            MsgBox("Dados Alterados com sucesso!")
    
            cn.Close()
            CarregaDados()

    terça-feira, 26 de agosto de 2014 13:42

Respostas

  • Faltou espaço antes do WHERE...

    " WHERE Id ='" 



    Carlos Eduardo Ferreira

    terça-feira, 26 de agosto de 2014 13:47
  • Paras as colunas numéricas você não precisa colocar a aspa simples na instrução.

    Dim cn As New OleDb.OleDbConnection cn.ConnectionString = "Provider=Microsoft.Jet.OleDb.4.0; Data Source=" & caminho & "" cn.Open() Dim st As Long st = TXTId.Text Dim myCmd As New OleDb.OleDbCommand myCmd.Connection = cn Dim vSql as string

    vSql = "UPDATE Processo " + " SET Ano = " + Me.TXTAno.Text + " , Autos = '" + Me.TXTAutos.Text + " WHERE Id = " + Me.TXTId.Text myCmd.CommandText = vSql; myCmd.ExecuteNonQuery() MsgBox("Dados Alterados com sucesso!") cn.Close() CarregaDados()




    Natan




    terça-feira, 26 de agosto de 2014 13:52

Todas as Respostas

  • Faltou espaço antes do WHERE...

    " WHERE Id ='" 



    Carlos Eduardo Ferreira

    terça-feira, 26 de agosto de 2014 13:47
  • Paras as colunas numéricas você não precisa colocar a aspa simples na instrução.

    Dim cn As New OleDb.OleDbConnection cn.ConnectionString = "Provider=Microsoft.Jet.OleDb.4.0; Data Source=" & caminho & "" cn.Open() Dim st As Long st = TXTId.Text Dim myCmd As New OleDb.OleDbCommand myCmd.Connection = cn Dim vSql as string

    vSql = "UPDATE Processo " + " SET Ano = " + Me.TXTAno.Text + " , Autos = '" + Me.TXTAutos.Text + " WHERE Id = " + Me.TXTId.Text myCmd.CommandText = vSql; myCmd.ExecuteNonQuery() MsgBox("Dados Alterados com sucesso!") cn.Close() CarregaDados()




    Natan




    terça-feira, 26 de agosto de 2014 13:52
  • Obrigado a todos, as respostas me foram úteis.
    sexta-feira, 29 de agosto de 2014 22:04