Usuário com melhor resposta
Sobrecarga

Pergunta
-
Boa tarde,
estou com o seguinte problema,
estou montando um cadastro de produtos, porem o código de barras e composto por 13 números EX.: 7894561233216
o meu problema e na hora de colher essa informação o erro q da é "SOBRECARGA" segue abaixo código completo
Imports System.Data Imports System.Data.OleDb Public Class formcadastroitens Private Sub formcadastroitens_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load 'TODO: This line of code loads data into the 'DadosDataSet.produtos' table. You can move, or remove it, as needed. Me.ProdutosTableAdapter.Fill(Me.DadosDataSet.produtos) End Sub Public Sub grava() Dim codigo As Integer codigo = txtcod.Text Dim referencia As String referencia = txtref.Text Dim descricao As String descricao = txtdesc.Text Dim estoqueAtual As Integer estoqueAtual = txtsaldo.Text Dim valorProduto As Double valorProduto = txtvalor.Text ' Query com os parametros passados Dim queryString As String = "INSERT INTO produtos (codigo_do_produto, referencia, descricao, estoqueatual, valorproduto) VALUES " & _ "(@codProduto, @referencia, @descricao, @estoqueAtual, @valorProduto)" Dim connection As OleDbConnection = getConnection() Try Dim command As New OleDbCommand(queryString, connection) ' Adiciona os parametros command.Parameters.AddWithValue("@codProduto", codigo) command.Parameters.AddWithValue("@referencia", referencia) command.Parameters.AddWithValue("@descricao", descricao) command.Parameters.AddWithValue("@estoqueAtual", estoqueAtual) command.Parameters.AddWithValue("@valorProduto", valorProduto) 'Abre conexao connection.Open() 'Executa comando retornando os registros afetados command.ExecuteNonQuery() Catch ex As Exception MessageBox.Show(ex.Message, "Insert Records") Finally MessageBox.Show("Produto incluido") connection.Close() End Try End Sub Private Sub btngravar_Click(sender As System.Object, e As System.EventArgs) Handles btngravar.Click grava() End Sub Private Sub btnnovo_Click(sender As System.Object, e As System.EventArgs) Handles btnnovo.Click txtcod.Text = "" txtref.Text = "" txtdesc.Text = "" txtsaldo.Text = "" txtvalor.Text = "" End Sub Private Sub txtcod_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles txtcod.KeyPress If Char.IsDigit(e.KeyChar) Then e.Handled = False ElseIf Char.IsControl(e.KeyChar) Then e.Handled = False Else e.Handled = True MessageBox.Show("Somente permitido números", "Codigo de Barras") End If End Sub Private Sub txtcod_TextChanged(sender As System.Object, e As System.EventArgs) Handles txtcod.TextChanged End Sub Private Sub txtsaldo_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles txtsaldo.KeyPress If Char.IsDigit(e.KeyChar) Then e.Handled = False ElseIf Char.IsControl(e.KeyChar) Then e.Handled = False Else e.Handled = True MessageBox.Show("Somente permitido números", "Quantidade") End If End Sub Private Sub txtsaldo_TextChanged(sender As System.Object, e As System.EventArgs) Handles txtsaldo.TextChanged End Sub End Class
Não sei mais oque fazer, acredito que seja alguma coisas simples mas sou muito iniciante em programação!
dês de já agradeço a todos
Respostas
-
Lucas,
Campo numérico não aceita mais que 10 digitos, mude o tipo do campo no banco de dados.
Respondi isso na outra thread que você abriu.
Abraços !
Diego Murakami
- MCP, MS
* Por favor "Marcar como Resposta" caso esta for útil para sua dúvida.- Sugerido como Resposta Ricardo Barbosa Cortes quarta-feira, 28 de maio de 2014 13:46
- Marcado como Resposta Ricardo Barbosa Cortes sexta-feira, 30 de maio de 2014 10:34
-
Provavelmente esse erro ocorre porque seu campo "referencia"( codigo de barras ) é do tipo int.. Esse tipo nao suporta13 digitos... O que vc deve fazer é criar um campo char(13) para armazenar esse codigo.
Att
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
- Sugerido como Resposta Ricardo Barbosa Cortes quarta-feira, 28 de maio de 2014 13:47
- Marcado como Resposta Ricardo Barbosa Cortes sexta-feira, 30 de maio de 2014 10:34
- Editado William John Adam TrindadeModerator sexta-feira, 30 de maio de 2014 17:51
Todas as Respostas
-
Provavelmente esse erro ocorre porque seu campo "referencia"( codigo de barras ) é do tipo int.. Esse tipo nao suporta13 digitos... O que vc deve fazer é criar um campo char(13) para armazenar esse codigo.
Att
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
- Sugerido como Resposta Ricardo Barbosa Cortes quarta-feira, 28 de maio de 2014 13:47
- Marcado como Resposta Ricardo Barbosa Cortes sexta-feira, 30 de maio de 2014 10:34
- Editado William John Adam TrindadeModerator sexta-feira, 30 de maio de 2014 17:51
-
-
Foi voce que criou o banco de dados?
O problema nao é no codigo. O problema esta na definiçao da tabela.
Att
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
-
-
Va na tabela e modifque ela. Vc usa SQL Server?
Att
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
-
-
-
Lucas,
Campo numérico não aceita mais que 10 digitos, mude o tipo do campo no banco de dados.
Respondi isso na outra thread que você abriu.
Abraços !
Diego Murakami
- MCP, MS
* Por favor "Marcar como Resposta" caso esta for útil para sua dúvida.- Sugerido como Resposta Ricardo Barbosa Cortes quarta-feira, 28 de maio de 2014 13:46
- Marcado como Resposta Ricardo Barbosa Cortes sexta-feira, 30 de maio de 2014 10:34