Jump to content
dipacheco

Conversion failed when converting the nvarchar value '10|' to data type int.

Recommended Posts

dipacheco

Boas pessoal! Uma ajudinha se for possível.

Está-me a dar o erro que coloquei como nome do tópico e não consigo entender porquê. O formato dos dados na BD está como varchar, utilizo strings no código e depois quando faço o command.executenonquery dá-me esse erro, quando nao é suposto existir nenhuma conversão para inteiro... o q estará a acontecer?

Share this post


Link to post
Share on other sites
Andrepereira9

E na criação do parametro tnes o valor como nvarchar??

command.parameters.add("@valor", sqltype.nvarchar).value = "Olá"


A informática chegou para resolver problemas que antes não existiam

Quem ri por último é porque está conectado a 52 Kbs.

Share this post


Link to post
Share on other sites
dipacheco

nao, tenho assim: command.Parameters.AddWithValue("Qtd", qtd)

em q qtd é uma string.. nao pode ser?

Share this post


Link to post
Share on other sites
ribeiro55

Poder pode.

Não pode é levar o pipe "|" à frente do dez, caso contrário não vai conseguir resolver um Integer.


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Share this post


Link to post
Share on other sites
dipacheco

mas nao é integer ribeiro... acho q n percebeste a duvida! é q o problema é mesmo esse! eu so trabalho com strings, e defino na bd um varchar(500). e ele dá-m esse erro...

Share this post


Link to post
Share on other sites
Caça

Então faz como o Andrepereira9 disse


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
Caça

Que base de dados estás a usar?


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
Caça

Tem que dar, procura no Intellisense

Mostra o teu código


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
dipacheco

Private Sub save()
        Dim prod As String = ""
        Dim qtd As String = ""
        For i = 0 To ListBox1.Items.Count - 1
            prod = prod & ListBox1.Items(i).ToString & "|"
            qtd = qtd & ListBox3.Items(i).ToString & "|"
        Next
        connect = New SqlConnection("Data Source=PACHECO-PC\SQLEXPRESS;Initial Catalog=Teste;Integrated Security=True")
        connect.Open()
        insert = "INSERT INTO [Me]([Nome],[ProdNomes],[id],[QtdProd],[Cal],[PreC],[PreV]) VALUES (@Nome,@Prod,@Id,@Cal,@Qtd,@Cust,@Vend)"
        command = New SqlCommand(insert, connect)
        command.Parameters.AddWithValue("@Nome", TextBox2.Text)
        command.Parameters.AddWithValue("@Prod", prod)
        command.Parameters.AddWithValue("@Id", TextBox1.Text)
        'command.Parameters.AddWithValue("Qtd", qtd)
        command.Parameters.Add("@Qtd", SqlDbType.NVarChar).Value = qtd
        command.Parameters.AddWithValue("@Cal", Val(TextBox3.Text))
        command.Parameters.AddWithValue("@Cust", Val(TextBox4.Text))
        command.Parameters.AddWithValue("@Vend", Val(TextBox5.Text))
        MsgBox(TextBox2.Text & " - " & prod & " - " & TextBox1.Text & " - " & qtd & " - " & Val(TextBox3.Text) & " - " & Val(TextBox4.Text) & " - " & Val(TextBox5.Text))
        command.ExecuteNonQuery()
        connect.Close()
    End Sub

esse é o meu codigo... como podem ver o qtd é uma string... e na bd o campo respectivo está definido como varchar(500). nao entendo este erro.

Share this post


Link to post
Share on other sites
Andrepereira9

O teu problema é que não estás a adicionar as coisas como deve de ser.

([Nome],[ProdNomes],[id],[QtdProd],[Cal],[PreC],[PreV])

mas quando indicas os valores

(@Nome,@Prod,@Id,@Cal,@Qtd,@Cust,@Vend)

Estas a inserir o @Cal no campo Quantidade e a quantidade no campo cal  :(

Altera lá isso como deve de ser, que isso funciona

E os parametros convêm ser declarados pela mesma onde que declaras em cima


A informática chegou para resolver problemas que antes não existiam

Quem ri por último é porque está conectado a 52 Kbs.

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.