Boa noite.
Tenho uma situação e não estou conseguindo ver o erro. No form principal eu passo as informações:
Private Sub btnIncluir_Click(sender As Object, e As EventArgs) Handles btnIncluir.Click
If txtDesc.Text = String.Empty Then
MsgBox("Informe o nome do Produto")
txtDesc.Focus()
Return
End If
Try
acc.IncluirProd(txtDesc.Text, txtUnidade.Text, Val(txtSAnter.Text), cboSelecione.Text, txtObs.Text)
MsgBox("Dados Salvos com sucesso!")
Catch ex As Exception
MsgBox("Erro ao incluir dados!" & vbCrLf & Err.Number & vbCrLf & Err.Description)
End Try
CarregaDadosProd()
End Sub
na minha classe:
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
.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
está me retornando erro 5 o Valor @Descricao não tem valor padrão! (Na depuração me mostra o valor digitado correto)
Como resolvo isto, pois estou incluindo texto, access 2010 (estou usando mdb, versão 4.0 : <add name="ConexaoEstq" providerName="System.Data.OleDb" connectionString="Provider=Microsoft.Jet.OleDb.4.0; Data Source=C:\dados\Estoque.mdb"/>
Alguém poderia me indicar onde estou errando????
Obrigado.
helio Passos