marioverdini 0 Posted April 19, 2019 Report Share Posted April 19, 2019 Boa a Tarde a todos estou tentando salvar um regitro no banco de dados mas ao clicar no botao salvar me aparece a msn error converting data type nvarchar to numeric Gostaria da ajuda do forum obrigado Private Sub btnSave_Click(sender As System.Object, e As System.EventArgs) Handles btnSave.Click If Len(Trim(cmbPurchaseType.Text)) = 0 Then MessageBox.Show("Please select purchase type", "", MessageBoxButtons.OK, MessageBoxIcon.Warning) cmbPurchaseType.Focus() Exit Sub End If If Len(Trim(cmbCompany.Text)) = 0 Then MessageBox.Show("Please select company", "", MessageBoxButtons.OK, MessageBoxIcon.Warning) cmbCompany.Focus() Exit Sub End If If DataGridView1.Rows.Count = 0 Then MessageBox.Show("Sorry no product info added to grid", "", MessageBoxButtons.OK, MessageBoxIcon.Warning) Exit Sub End If If Len(Trim(txtTaxPer.Text)) = 0 Then MessageBox.Show("Please enter tax %", "", MessageBoxButtons.OK, MessageBoxIcon.Warning) txtTaxPer.Focus() Exit Sub End If Try con = New SqlConnection(cs) con.Open() Dim cb As String = "insert into Purchase(PI_ID, Date, PurchaseType, Company, SubTotal, TaxPer, TaxAmount, GrandTotal, Remarks) VALUES (@d1,@d2,@d3,@d4,@d5,@d6,@d7,@d8,@d9)" cmd = New SqlCommand(cb) cmd.Parameters.AddWithValue("@d1", txtID.Text) cmd.Parameters.AddWithValue("@d2", Convert.ToDateTime(dtpDate.Value.Date)) cmd.Parameters.AddWithValue("@d3", cmbPurchaseType.Text) cmd.Parameters.AddWithValue("@d4", cmbCompany.Text) cmd.Parameters.AddWithValue("@d5", txtSubTotal.Text) cmd.Parameters.AddWithValue("@d6", txtTaxPer.Text) cmd.Parameters.AddWithValue("@d7", txtTaxAmount.Text) cmd.Parameters.AddWithValue("@d8", txtGrandTotal.Text) cmd.Parameters.AddWithValue("@d9", txtRemarks.Text) cmd.Connection = con cmd.ExecuteNonQuery() con.Close() con = New SqlConnection(cs) con.Open() Dim cb1 As String = "insert into Purchase_Product(PurchaseID,ProductID,Quantity,Price,TotalAmount) VALUES (" & txtID.Text & ",@d1,@d2,@d3,@d4)" cmd = New SqlCommand(cb1) cmd.Connection = con ' Prepare command for repeated execution cmd.Prepare() ' Data to be inserted For Each row As DataGridViewRow In DataGridView1.Rows If Not row.IsNewRow Then cmd.Parameters.AddWithValue("@d1", row.Cells(0).Value) cmd.Parameters.AddWithValue("@d2", row.Cells(3).Value) cmd.Parameters.AddWithValue("@d3", row.Cells(4).Value) cmd.Parameters.AddWithValue("@d4", row.Cells(5).Value) cmd.ExecuteNonQuery() cmd.Parameters.Clear() End If Next con.Close() LogFunc(lblUser.Text, "added the new purchase having purchase ID '" & txtID.Text & "'") MessageBox.Show("Successfully saved", "Record", MessageBoxButtons.OK, MessageBoxIcon.Information) btnSave.Enabled = False con.Close() Catch ex As Exception MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try End Sub Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click frmProductRecord.lblSet.Text = "Purchase" frmProductRecord.Reset() frmProductRecord.ShowDialog() End Sub Link to post Share on other sites
Gnrtuga 21 Posted April 19, 2019 Report Share Posted April 19, 2019 (edited) Boas, assim à primeira vista é um erro de conversão, converte primeiro o valor a inserir na base de dados no formato que é esperado na base de dados. Não te esqueças que apesar de tu introduzires um número numa caixa de texto, o compilador vai interpretar esse número como texto. Boa sorte. Edited April 19, 2019 by Gnrtuga Esclarecimento adicional Férias! Estou por aqui: http://maps.google.p...001549&t=h&z=20 (a bulir claro está!) Nunca mais é verão outra vez.. Link to post Share on other sites
marioverdini 0 Posted April 19, 2019 Author Report Share Posted April 19, 2019 por favor me ensina eu sou novo nessa aerea Link to post Share on other sites
Gnrtuga 21 Posted April 19, 2019 Report Share Posted April 19, 2019 Bem em princípio não é difícil, tens que ver qual o nome do campo em que introduzes um número e depois fazes qualquer coisa como: convert.toint32(nome-do-campo-a-converter.text) Qualquer coisa podes sempre fazer uma pesquisa sobre o assunto no Google ou no YouTube, que de certeza que encontras montes de tutoriais onde explicam bem o assunto. Férias! Estou por aqui: http://maps.google.p...001549&t=h&z=20 (a bulir claro está!) Nunca mais é verão outra vez.. Link to post Share on other sites
marioverdini 0 Posted April 19, 2019 Author Report Share Posted April 19, 2019 Vou te dizer a verdade ja procurei de tudo mas explicam de uma for nao e a mesma q esta na minha duvida mas agradeco pela sua atenção Link to post Share on other sites
marioverdini 0 Posted April 19, 2019 Author Report Share Posted April 19, 2019 Voce se importa se eu te mandar o form todo para poder me ajudar? Link to post Share on other sites
marioverdini 0 Posted April 20, 2019 Author Report Share Posted April 20, 2019 eu testei sua dica mas nao funcionou Link to post Share on other sites
Gnrtuga 21 Posted April 20, 2019 Report Share Posted April 20, 2019 Boas, de momento estou sem computador e sem tempo (ando a responder pelo telemóvel) Preciso que faças três coisas, primeiro que voltes a meter o código, mas clica no símbolo <> e escolhe a opção C (...) de forma a ser mais fácil de ler. Depois preciso de um print screen do formulário, de preferência com o nome dos Campos. Finalmente o nome das tabelas e dos campos e respectivos tipos da tua base de dados . Só assim conseguirei ajudar. Férias! Estou por aqui: http://maps.google.p...001549&t=h&z=20 (a bulir claro está!) Nunca mais é verão outra vez.. Link to post Share on other sites
marioverdini 0 Posted April 22, 2019 Author Report Share Posted April 22, 2019 e como te envio o formulario pq o forum nao me deixar por imagens Link to post Share on other sites
Gnrtuga 21 Posted April 22, 2019 Report Share Posted April 22, 2019 Boas, procura um serviço de alojamento de imagens gratuito e mandas o link. Agora não me lembro de nenhum mas fiz uma pesquisa muito rápida no Google e este parece que dá https://pt.imgbb.com/ Férias! Estou por aqui: http://maps.google.p...001549&t=h&z=20 (a bulir claro está!) Nunca mais é verão outra vez.. Link to post Share on other sites
marioverdini 0 Posted April 22, 2019 Author Report Share Posted April 22, 2019 ok pode de deixar obrigado Link to post Share on other sites
marioverdini 0 Posted April 22, 2019 Author Report Share Posted April 22, 2019 sera q por email naos eia mais facil te enciar a imagem do formulario Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now