C# MYSQL
Boa tarde com um problema na hora de executar uma Query alguiem poderia me ajudar.
Ele me retorna o seguinte erro:
connection must be valid and open
InvalidOperationException was unhandled
Por favor me ajudem
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
namespace Sistema_de_Biblioteca
{
public partial class Alunos : Form
{
public Alunos()
{
InitializeComponent();
}
private void Insert_Click(object sender, EventArgs e)
{
bool erro = false;
if(Cod_Aluno.Text != [Ô][Ô])
erro = true;
if(Nome_Aluno.Text != [Ô][Ô])
erro = true;
if(Telefone_Aluno.Text != [Ô][Ô])
erro = true;
if(cod_livro.Text != [Ô][Ô])
erro = true;
if(Txt_turma.Text !=[Ô][Ô])
erro = true;
if (erro==true)
{
//Instancia do mysqlConnection passando a string de conexao
MySqlConnection conn = new MySqlConnection([Ô]Server=localhost;Database=Teste;Uid=root;Pwd=password;[Ô]);
//Command com a instrução SQL
MySqlCommand com = new MySqlCommand([Ô]insert into aluno values([ô][Ô] + Cod_Aluno.Text+[Ô][ô],[ô][Ô]+ Nome_Aluno.Text+[Ô][ô],[ô][Ô]+Telefone_Aluno.Text+[Ô][ô],[ô][Ô]+cod_livro+[Ô][ô],[ô][Ô]+Txt_turma+[Ô][ô][Ô]);
//Abrindo a conexão com o banco
conn.Open();
//Executando o comando SQL e retorna um inteiro com o numero de linhas afetadas (nà o usado para select)
com.ExecuteNonQuery();
}
else
{
MessageBox.Show([Ô]Preencha todos os valores[Ô]);
}
Ele me retorna o seguinte erro:
connection must be valid and open
InvalidOperationException was unhandled
Por favor me ajudem
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
namespace Sistema_de_Biblioteca
{
public partial class Alunos : Form
{
public Alunos()
{
InitializeComponent();
}
private void Insert_Click(object sender, EventArgs e)
{
bool erro = false;
if(Cod_Aluno.Text != [Ô][Ô])
erro = true;
if(Nome_Aluno.Text != [Ô][Ô])
erro = true;
if(Telefone_Aluno.Text != [Ô][Ô])
erro = true;
if(cod_livro.Text != [Ô][Ô])
erro = true;
if(Txt_turma.Text !=[Ô][Ô])
erro = true;
if (erro==true)
{
//Instancia do mysqlConnection passando a string de conexao
MySqlConnection conn = new MySqlConnection([Ô]Server=localhost;Database=Teste;Uid=root;Pwd=password;[Ô]);
//Command com a instrução SQL
MySqlCommand com = new MySqlCommand([Ô]insert into aluno values([ô][Ô] + Cod_Aluno.Text+[Ô][ô],[ô][Ô]+ Nome_Aluno.Text+[Ô][ô],[ô][Ô]+Telefone_Aluno.Text+[Ô][ô],[ô][Ô]+cod_livro+[Ô][ô],[ô][Ô]+Txt_turma+[Ô][ô][Ô]);
//Abrindo a conexão com o banco
conn.Open();
//Executando o comando SQL e retorna um inteiro com o numero de linhas afetadas (nà o usado para select)
com.ExecuteNonQuery();
}
else
{
MessageBox.Show([Ô]Preencha todos os valores[Ô]);
}
Adicione o seginte:
if (erro==true)
{
//Instancia do mysqlConnection passando a string de conexao
MySqlConnection conn = new MySqlConnection([Ô]Server=localhost;Database=Teste;Uid=root;Pwd=password;[Ô]);
//Command com a instrução SQL
MySqlCommand com = new MySqlCommand([Ô]insert into aluno values([ô][Ô] + Cod_Aluno.Text+[Ô][ô],[ô][Ô]+ Nome_Aluno.Text+[Ô][ô],[ô][Ô]+Telefone_Aluno.Text+[Ô][ô],[ô][Ô]+cod_livro+[Ô][ô],[ô][Ô]+Txt_turma+[Ô][ô][Ô]);
//Abrindo a conexão com o banco
conn.Open();
//Executando o comando SQL e retorna um inteiro com o numero de linhas afetadas (nà o usado para select)
com.Connection = conn;
com.ExecuteNonQuery();
}
else
{
MessageBox.Show([Ô]Preencha todos os valores[Ô]);
}
Verifique tbm se a conexão é aberta com scesso !!
Qualquer problema ou dvida add procure nosso amigo MACORATTI
http://www.macoratti.net/08/09/c_mysql2.htm
Espero qe te ajude!!
Araços !!
try
{
conn.Open();
}
catch (Exception Ex)
{ MessageBox.Show([Ô]Erro ao tentar abrir a conexão.
[Ô] + Ex.Message); }
Qualquer problema ou dvida add procure nosso amigo MACORATTI
http://www.macoratti.net/08/09/c_mysql2.htm
Espero qe te ajude!!
Araços !!
Agora ele me mostra o seguinte erro
Unable to connect to any of the specified MySQL hosts.
Unable to connect to any of the specified MySQL hosts.
Siginifica que não foipossivel se conectarao servidor, verifique se o MySQL realmente esta funcionando e o nome de usuario e senha que vc esta usando.
Flw abraços !!
Flw abraços !!
Realmente.
Corrigi
Ai me veio esse erro
You have an error in you SQL syntax/ check the manual that corresponds to your
MySQL server version for the right syntax to user near at line 1
Mais agora pelo que eu entendi e erro na instrucao sql que estou passando
Corrigi
Ai me veio esse erro
You have an error in you SQL syntax/ check the manual that corresponds to your
MySQL server version for the right syntax to user near at line 1
Mais agora pelo que eu entendi e erro na instrucao sql que estou passando
Sim Sim, erro na instrução faltou fechar o parenteses na instrucao INSERT apos o VALUES ( )
O seu código completo iria ficar assim:
O seu código completo iria ficar assim:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
namespace Sistema_de_Biblioteca
{
public partial class Alunos : Form
{
public Alunos()
{
InitializeComponent();
}
private void Insert_Click(object sender, EventArgs e)
{
bool erro = false;
if(Cod_Aluno.Text != [Ô][Ô])
erro = true;
if(Nome_Aluno.Text != [Ô][Ô])
erro = true;
if(Telefone_Aluno.Text != [Ô][Ô])
erro = true;
if(cod_livro.Text != [Ô][Ô])
erro = true;
if(Txt_turma.Text !=[Ô][Ô])
erro = true;
if (erro==true)
{
//Instancia do mysqlConnection passando a string de conexao
MySqlConnection conn = new MySqlConnection([Ô]Server=localhost;Database=Teste;Uid=root;Pwd=password;[Ô]);
//Command com a instrução SQL
MySqlCommand com = new MySqlCommand([Ô]insert into aluno values([ô][Ô] + Cod_Aluno.Text+[Ô][ô],[ô][Ô]+ Nome_Aluno.Text+[Ô][ô],[ô][Ô]+Telefone_Aluno.Text+[Ô][ô],[ô][Ô]+cod_livro+[Ô][ô],[ô][Ô]+Txt_turma+[Ô][ô])[Ô]);
//Abrindo a conexão com o banco
try
{
conn.Open();
}
catch (Exception Ex)
{ MessageBox.Show([Ô]Erro ao tentar abrir a conexão.
[Ô] + Ex.Message); }
//Executando o comando SQL e retorna um inteiro com o numero de linhas afetadas (nà o usado para select)
com.Connection = conn;
com.ExecuteNonQuery();
}
else
{
MessageBox.Show([Ô]Preencha todos os valores[Ô]);
}
Amigo não esqueça de encerrar o tópico se sua dúvida foi solucionada !!
ABraços !!!
ABraços !!!
Tópico encerrado , respostas não são mais permitidas