ERRO AO INCLUIR UM REGISTRO NA TABELA ACCESS VBNET
Obrigado a todos, conversando a gente acha as soluções. Obrigado.
Mudei para.
With Cmd.Parameters
.Clear() [ô] Não fez diferença
.Add(New OleDbParameter([Ô]@Descricao[Ô], OleDbType.VarChar, 200, [Ô]Descricao[Ô]))[txt-color=#e80000].Value = Descricao[/txt-color]
.Add(New OleDbParameter([Ô]@Unidade[Ô], OleDbType.VarChar, 25, [Ô]Unidade[Ô]))[txt-color=#e80000].Value = Unidade[/txt-color]
.Add(New OleDbParameter([Ô]@SAnterior[Ô], OleDbType.Integer, 5, [Ô]SAnterior[Ô]))[txt-color=#e80000].Value = SAnterior[/txt-color]
.Add(New OleDbParameter([Ô]@Especie[Ô], OleDbType.VarChar, 20, [Ô]Especie[Ô]))[txt-color=#e80000].Value = Especie[/txt-color]
.Add(New OleDbParameter([Ô]@Obs[Ô], OleDbType.VarChar, 255, [Ô]Obs[Ô]))[txt-color=#e80000].Value = Obs[/txt-color]
End With
Este sim como postei anteriormente.
Vermelho.
Esqueceu.
Citação::
Testei do Jaba = erro = Parâmetro @Descricao não tem valor padrão
Mudei para.
With Cmd.Parameters
.Clear() [ô] Não fez diferença
.Add(New OleDbParameter([Ô]@Descricao[Ô], OleDbType.VarChar, 200, [Ô]Descricao[Ô]))[txt-color=#e80000].Value = Descricao[/txt-color]
.Add(New OleDbParameter([Ô]@Unidade[Ô], OleDbType.VarChar, 25, [Ô]Unidade[Ô]))[txt-color=#e80000].Value = Unidade[/txt-color]
.Add(New OleDbParameter([Ô]@SAnterior[Ô], OleDbType.Integer, 5, [Ô]SAnterior[Ô]))[txt-color=#e80000].Value = SAnterior[/txt-color]
.Add(New OleDbParameter([Ô]@Especie[Ô], OleDbType.VarChar, 20, [Ô]Especie[Ô]))[txt-color=#e80000].Value = Especie[/txt-color]
.Add(New OleDbParameter([Ô]@Obs[Ô], OleDbType.VarChar, 255, [Ô]Obs[Ô]))[txt-color=#e80000].Value = Obs[/txt-color]
End With
Este sim como postei anteriormente.
Vermelho.
Olá Omar.
Eu havia te respondido que a sua solução foi a melhor e que resolveu, e até te agradeci! Após isso que encerrei o tópico... Não sei o que ocorreu. Obrigado.
Citação::
Acredito que seja o seguinte. Certamente você está utilizando um SqlCommand para tudo, aà os parâmetros(o tal do cmd.Parameters), utilizados em outros casos, continuam lá, por isso o erro. Para contornar isso, dê um Clear neles, conforme abaixo:Public Sub IncluirProd(ByVal Descricao As String, ByVal Unidade As String, ByVal SAnterior As Integer, ByVal Especie As String, ByVal Obs As String)
Try
cn = getConexaoDB()
Cmd.Connection = cn
Cmd.CommandText = [Ô]INSERT INTO PRODUTOS (Descricao, Unidade, SAnterior, Especie, Obs ) [Ô] & [Ô] VALUES (@Descricao, @Unidade, @SAnterior, @Especie, @Obs)[Ô]
Cmd.CommandType = CommandType.Text
With Cmd.Parameters
[txt-color=#e80000].Clear() [ô]Adicione apenas essa linha[/txt-color]
.Add(New OleDbParameter([Ô]@Descricao[Ô], OleDbType.VarChar, 200, [Ô]Descricao[Ô]))
.Add(New OleDbParameter([Ô]@Unidade[Ô], OleDbType.VarChar, 25, [Ô]Unidade[Ô]))
.Add(New OleDbParameter([Ô]@SAnterior[Ô], OleDbType.Integer, 5, [Ô]SAnterior[Ô]))
.Add(New OleDbParameter([Ô]@Especie[Ô], OleDbType.VarChar, 20, [Ô]Especie[Ô]))
.Add(New OleDbParameter([Ô]@Obs[Ô], OleDbType.VarChar, 255, [Ô]Obs[Ô]))
End With
Cmd.ExecuteNonQuery()
Catch ex As Exception
Throw ex
Finally
closeConexaoDB(cn)
End Try
End Sub
Não JABA. O problema era mais simples, e foi solucionado pelo OMAR2011. Obrigado pela dica.
Na parte de cima da página tem a opção e encerrar.