AnaGPSI Posted March 28, 2012 Report Share Posted March 28, 2012 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! Link to comment Share on other sites More sharing options...
Andrepereira9 Posted March 28, 2012 Report Share Posted March 28, 2012 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. Link to comment Share on other sites More sharing options...
ribeiro55 Posted March 29, 2012 Report Share Posted March 29, 2012 pelo que entendo pede-me para colocar algo dentro dos () e na verdade não sei o que! Nada 👍 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" Link to comment Share on other sites More sharing options...
AnaGPSI Posted March 29, 2012 Author Report Share Posted March 29, 2012 Pois mas esse campo turma_cod_turma! é o mysql workbench que o cria pois vem da ligação à tabela turma! Link to comment Share on other sites More sharing options...
ribeiro55 Posted March 29, 2012 Report Share Posted March 29, 2012 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" Link to comment Share on other sites More sharing options...
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