Jump to content
zemiguel123

[Resolvido] Erro ao actulizar uma base de dados em mysql atraves do visual basic

Recommended Posts

zemiguel123

Bom dia a todos. Tenho o seguinte codigo para atuaclizar o stock de um produto. Ao clicar no botao do form anterior abre uma inputbox a pedir o codigo do produto e depois abre um form ja com a opçao do stock para poder actualizar. eu mudo so que ao guardar o vb diz que existe um erro na sitaxe no mysql. preciso de ajuda porque nao consigo encontrar o erro.

Codigo da ligaçao a base de dados no mysql

Private Sub Form6_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       conexao.ConnectionString = "Server = localhost; user = root; database = mercearia;"
       conexao.Open()
       comando.Connection = conexao
       Dim strsql As String = "select * from produto"
       comando.CommandText = strsql
       result = comando.ExecuteReader
       While result.Read
           DataGridView1.Rows.Add(result.Item(0), result.Item(1), result.Item(2), result.Item(3))
       End While
       result.Close()
   End Sub

Codigo do form que tenho para actualizar

Private Sub Form9_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       conexao.Close()
       conexao.Open()
       Dim b As String = InputBox("Qual o código do produto que quer actualizar?", "Actualizar")
       Dim strsql As String = "select * from produto where cod_produto='" & b & "'"
       comando.CommandText = strsql
       result = comando.ExecuteReader
       While result.Read
           TextBox1.Text = result.Item(0)
           TextBox2.Text = result.Item(1)
           TextBox3.Text = result.Item(2)
           TextBox4.Text = result.Item(3)
       End While
       result.Close()
   End Sub


   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       conexao.Close()
       conexao.Open()
       Dim strsql As String = "update produto set quantidade = '" & TextBox4.Text & "'where cod_produto ='" & TextBox1.Text
       comando.CommandText = strsql
       comando.ExecuteNonQuery()
       Button2_Click(sender, e)
       Dim d As Integer = MsgBox("Produto actualizado com sucesso", vbOKOnly, "Sucesso!")
   End Sub

Codigo do erro que me aparece

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''3' at line 1. o numero tres varia consoante o codigo do produto que eu escolher.

preciso mesmo de ajuda, nao sei como resolver isto.

Edited by pmg
GeSHi

Share this post


Link to post
Share on other sites
NunoDinis

Tens que fechar as aspas no final do Textbox1.text. Repara que as abres antes do update, logo terás que as fechar depois de receber o valor do cod_produto.


Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro.

ndsotware.org

Share this post


Link to post
Share on other sites
zemiguel123

NunoDinis, obrigado pela ajuda, foi bastante valiosa, uma vez que me levou a olhar bem com atenção, e nao as aspas como dizias mas sim a plica a segui a where cod_produto = . Obrigado .

Share this post


Link to post
Share on other sites
NunoDinis

Ótimo, era dentro disso :)

Marca o tópico como resolvido, acima, nas ferramentas do autor.


Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro.

ndsotware.org

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • 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.