ERRO AO USAR PARMETROS

 Tópico anterior Próximo tópico Novo tópico

ERRO AO USAR PARMETROS

VB.NET

 Compartilhe  Compartilhe  Compartilhe
#466632 - 08/09/2016 15:29:43

DAMASCENO.CESAR
ADAMANTINA
Cadast. em:Fevereiro/2009


Boa tarde, seguindo exemplos tanto do VBM como de outros sites, montei consulta My-SQL com parmetros e funciona lindamente, mas ao tentar usar esse mesmo esquema com oledb e banco Access (.mdb) os dados so inseridos de forma errnea, segue abaixo o codigo quer estou usando
  Dim sSql As String = [][]
                    Dim Conn As New OleDbConnection
                    Dim cmd As OleDbCommand
                    Conn.ConnectionString = AcessoDados.GetConnectionString([][])
                    cmd = New OleDbCommand
                    cmd.Connection = Conn
                    sSql = []UPDATE Diretoria SET Diretor1=@Diretor1, Cargo1=@Cargo1, Diretor2=@Diretor2, Cargo2=@Cargo2, [] _
                        & []Diretor3=@Diretor3, Cargo3=@Cargo3 WHERE Diretor1=@Diretor1Vel AND Cargo1=@Cargo1Vel[]
                    cmd.Connection.Open()
                    cmd.CommandText = sSql
                    cmd.Parameters.AddWithValue([]@Diretor1[], dscN.Diretor1)
                    cmd.Parameters.AddWithValue([]@Diretor2[], dscN.Diretor2)
                    cmd.Parameters.AddWithValue([]@Diretor3[], dscN.Diretor3)
                    cmd.Parameters.AddWithValue([]@Cargo1[], dscN.Cargo1)
                    cmd.Parameters.AddWithValue([]@Cargo2[], dscN.Cargo2)
                    cmd.Parameters.AddWithValue([]@Cargo3[], dscN.Cargo3)
                    []-----
                    cmd.Parameters.AddWithValue([]@Diretor1Vel[], dscV.Diretor1)
                    cmd.Parameters.AddWithValue([]@Cargo1Vel[], dscV.Cargo1)
                    cmd.ExecuteNonQuery()
                    cmd.Connection.Close()
                    cmd.CommandText = Nothing
                    cmd.Connection = Nothing


obs: dscN e dscV so classes com os valores a serem lanados
os valores esto corretos Diretor com nome de diretor, cardo com cargo de diretor
se puderem me dizer onde estou errando....

O conhecimento como o dinheiro: quanto mais temos, mais queremos ter (Josh Billings)  


#466635 - 08/09/2016 16:22:44

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Difcil dizer o que est errado sem saber ao menos a mensagem de erro...

_______________________________________________________________________
Virei Orculo!
The end is nigh, be ready for the nukes!


Resposta escolhida #466640 - 08/09/2016 16:45:32

FFCOUTO
COM LEVY GASPARIAN
Cadast. em:Março/2005


Os seus parmetros devem seguir exatamente a ordem que est no comando SQL, portanto, voc deve ter @Diretor1, @Cargo1, etc.

Cursos de Excel e VB6:
cursoexcelvba.com.br


#466642 - 08/09/2016 16:59:27

DAMASCENO.CESAR
ADAMANTINA
Cadast. em:Fevereiro/2009


KERPLUNK, no d mensagem de erro, salva os dados fora de ordem
vou fazer como o FFCOUTO falou pra ver se funfa


O conhecimento como o dinheiro: quanto mais temos, mais queremos ter (Josh Billings)  


#466655 - 09/09/2016 07:50:32

MESTRE
GUARULHOS
Cadast. em:Novembro/2013


Minha dica voc utilizar Try Catch e Finally quando abre e fecha a conexo com banco de dados..

Faa com o FCouto disse e aproveite para dar uma organizada tambm fica muito mais limpo seu cdigo:

   Dim objCmd As New MySqlCommand(sql, objConexao) (< uso mysql)

        objCmd.Parameters.AddWithValue([]@Diretor1[], []dscN.Diretor1[])
        objCmd.Parameters.AddWithValue([]@Cargo1[], []dscN.Cargo1[])
        
        Try
            objConexao.Open()
            objCmd.ExecuteNonQuery()
        Catch ex As Exception
            MessageBox.Show([]Falha de conexo com Banco de Dados[],[]Aviso[])
           []Messagebox.Show(ex.ToString)
        Finally
            objConexao.Close()
          
        End Try


_______________________________________________
[]A alegria est na luta, na tentativa, no sofrimento envolvido e no na vitria propriamente dita.[]
Gandhi.


#466659 - 09/09/2016 09:57:27

OCELOT
SOROCABA
Cadast. em:Março/2012


o que o FFCOUTO disse, o que acontece que com o banco de dados do Access, apesar de voc poder usar parmetros nomeados na SQL ele na verdade no suporta isso, ele precisa que todos os parmetros estejam na ordem que est na SQL



#466668 - 09/09/2016 15:39:43

DAMASCENO.CESAR
ADAMANTINA
Cadast. em:Fevereiro/2009


Realmente OCELOT, segui a dica do FFCOUTO e resolveu o problema
Agora tenho quer me atentar para sempre que mexer com Access colocar os parametros em orderm rsrsrsrs

O conhecimento como o dinheiro: quanto mais temos, mais queremos ter (Josh Billings)  


 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por DAMASCENO.CESAR em 09/09/2016 15:39:56