Jump to content
AnaGPSI

cmd.ExecuteNonQuery()

Recommended Posts

AnaGPSI

Olá bem eu sou nova nisto de programar em Visual Basic.

No meu programa tenho a expressão cmd.ExecuteNonQuery() no código do botão guardar, este botão irá guardar todos os campos introduzidos na base de dados em mysql mas o problema só surge quando vou a executar o programa pelo que entendo pede-me para colocar algo dentro dos () e na verdade não sei o que!

O código é o seguinte:

Imports MySql.Data.MySqlClient
Imports MySql.Data
Public Class inserir_ano_letivo

    Dim conn As New MySqlClient.MySqlConnection
    Const connstring As String = "server=localhost; user=root; database=mydb"
    Dim cmd As New MySqlCommand

    Private Sub connecttomysql()
        Try
            conn.ConnectionString = connstring
            conn.Open()
            'MsgBox("Connection is okay.")
        Catch ex As Exception
            MessageBox.Show(ex.ToString)
        Finally
            'coon.Close()
        End Try
    End Sub
    Private Sub Disconnectfrommysql()
        conn.Close()
    End Sub
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        TestConnection()
    End Sub
    Private Sub TestConnection()
        Try
            Dim connstr As String = "server=localhost; Database=mydb; user=root;"
            Dim connection As New MySqlConnection(connstr)
            connection.Open()
            connection.Close()
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try

    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        'connecttomysql()

        cmd.Connection = conn
        Dim a As String

        a = txtanolet.Text

        cmd.CommandText = "INSERT INTO mydb.ano_letivo (AnoLetivo, Turma_Cod_Turma)" + "values ('" & a & "')"
        cmd.ExecuteNonQuery()
        MsgBox("Ano Letivo introduzido com sucesso!")
        Disconnectfrommysql()
        Me.Close()
    End Sub
End Class

Help me please!  :down:

Estou mesmo desesperada e preciso de conseguir avançar isto!

Share this post


Link to post
Share on other sites
Andrepereira9

Boas

Sem grande informação sobre que tipo de erro é que apresenta é difícil ajudar-te.

Mas pelo que vejo faltam elementos na sintaxe SQL

Tens isto:

cmd.CommandText = "INSERT INTO mydb.ano_letivo (AnoLetivo, Turma_Cod_Turma)" + "values ('" & a & "')"

Mas não indicas qual o valor para o campo "Turma_Cod_Turma"


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
ribeiro55

pelo que entendo pede-me para colocar algo dentro dos () e na verdade não sei o que!

Nada :thumbsup:

Essa é a única assinatura do método.

O problema é outro, e pode perfeitamente ser o que o Andrepereira9 aponta.

Repara que no teu INSERT tens explícitas duas colunas, mas no teu VALUES só passas um valor. E o VALUES está pegado ao parentesis.

Experimenta algo hardcoded, só para despistar. Algo como:

cmd.CommandText = "INSERT INTO mydb.ano_letivo (AnoLetivo, Turma_Cod_Turma)" + " values ('2012',1)"


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
AnaGPSI

Pois mas esse campo turma_cod_turma! é o mysql workbench que o cria pois vem da ligação à tabela turma!

Share this post


Link to post
Share on other sites
ribeiro55

Então não o explicites.

Mas não estou a ver de que maneira é que vai ser relacionado.

Das duas uma, ou não o explicitas (não se deve explicitar, por exemplo quando se trata autoincrement), ou dás explicitamente, com valor que se possa relacionar.


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

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.