Kinhas 0 Denunciar post Postado Agosto 10, 2011 Boa tarde pessoal, Estou estudando um pouco sobre banco de dados e c# (que eu uso atualmente), Eu baixei o banco de dados MySQL, instalei tudo bonitnho e tals, Ai criei uma tabela Com 4 campos (Codigo, nome, endereco, estado), o campo código é auto incrementável. Ai coloquei a seguinte query pra rodar (já conectei com o banco), MySqlCommand commS = new MySqlCommand("INSERT INTO cliente VALUES('1', '" + txtb_nome.Text + "', '"+txtb_endereco.Text+"', '"+txtb_estado.Text+"';)", bdConn); Tentei assim também MySqlCommand commS = new MySqlCommand("INSERT INTO cliente VALUES(1, '" + txtb_nome.Text + "', '"+txtb_endereco.Text+"', '"+txtb_estado.Text+"';)", bdConn); E tentei assim também MySqlCommand commS = new MySqlCommand("INSERT INTO cliente VALUES('" + txtb_nome.Text + "', '"+txtb_endereco.Text+"', '"+txtb_estado.Text+"';)", bdConn); Porém nenhum desses modos adcionou na tabela, tentei também sem colocar o ";", mas também não adiantou. somente adicionou uma linha na tabela quando eu escrevi o insert into no tela DOS do banco dea dos que é a que eu uso. Alguém saberia me ajudar? Obrigado, Lucas. Compartilhar este post Link para o post Compartilhar em outros sites
eriva_br 7 Denunciar post Postado Agosto 10, 2011 não esta retornando erro ? tenta nomear os campos que esta inserindo, é recomendado como boa prática, além de ficar mais organizado MySqlCommand commS = new MySqlCommand(@"INSERT INTO cliente (nome, endereco, estado) VALUES('" + txtb_nome.Text + "', '"+txtb_endereco.Text+"', '"+txtb_estado.Text+"';)", bdConn); Compartilhar este post Link para o post Compartilhar em outros sites
Kinhas 0 Denunciar post Postado Agosto 10, 2011 Então eriva, Não retorna erro nenhum, Coloquei até um COnsole.WriteLine depois de inserido pra ver se chegava até lá e chegou, não volta erro nenhum mas não grava o dado no banco. Compartilhar este post Link para o post Compartilhar em outros sites
eriva_br 7 Denunciar post Postado Agosto 10, 2011 como você esta chamando a execução ? Compartilhar este post Link para o post Compartilhar em outros sites
Kinhas 0 Denunciar post Postado Agosto 11, 2011 Bom então eriva, Esse é o código que eu estou usando no momento. using System.Data; using MySql.Data.MySqlClient; Ai depois do InitializeComponent(); eu coloquei assim private MySqlConnection bdConn; //MySQL private MySqlDataAdapter bdAdapter; private DataSet bdDataSet; //MySQL E no evento do botão isso aqui //Definição do dataset bdDataSet = new DataSet(); //Define string de conexão bdConn = new MySqlConnection("Persist Security Info=False;server=localhost;database=lucas;uid=root;server=localhost;database=lucas;uid=root;pwd=*******"); //Abre conecção try { bdConn.Open(); Console.WriteLine("Connection oppened"); } catch { MessageBox.Show("Impossível estabelecer conexão"); } //Verifica se a conexão está aberta if (bdConn.State == ConnectionState.Open) { //Se estiver aberta insere os dados na BD MySqlCommand commS = new MySqlCommand(@"INSERT INTO cliente (nome, endereco, estado) VALUES('" + txtb_nome.Text + "', '" + txtb_endereco.Text + "', '" + txtb_estado.Text + "';)", bdConn); Console.WriteLine("Inserido"); } Isso ai que eu tenho. Compartilhar este post Link para o post Compartilhar em outros sites
eriva_br 7 Denunciar post Postado Agosto 11, 2011 você precisa enviar o comando Execute para o banco, no caso de insert ExecuteNonQuery(), veja na documentação do MySqlCommand: http://dev.mysql.com/doc/refman/5.0/es/connector-net-examples-mysqlcommand.html Compartilhar este post Link para o post Compartilhar em outros sites
Kinhas 0 Denunciar post Postado Agosto 11, 2011 Então, eu consigo resovler o problema, mas tive que usar outro código, Ainda não identifiquei o que está errado mas tudo bem. Valeus a ajuda eriva =) Compartilhar este post Link para o post Compartilhar em outros sites
Joffre Mota 0 Denunciar post Postado Agosto 11, 2011 Posta a forma que deu certo. Talvez ajude mais pessoas! :) Compartilhar este post Link para o post Compartilhar em outros sites
Kinhas 0 Denunciar post Postado Agosto 11, 2011 A forma que deu certo é essa daqui no momento: namespace Teste_mySQL_Cliente { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private MySqlConnection mConn; private MySqlDataAdapter mAdapter; private DataSet mDataSet; private void mostraResultados() { mDataSet = new DataSet(); mConn = new MySqlConnection("Persist Security Info=False; server=localhost;database=lucas;uid=root;password=Password1"); mConn.Open(); //cria um adapter utilizando a instrução SQL para aceder à tabela mAdapter = new MySqlDataAdapter("SELECT * FROM cliente ORDER BY codigo", mConn); //preenche o dataset através do adapter mAdapter.Fill(mDataSet, "cliente"); //atribui o resultado à propriedade DataSource da dataGridView gvClientes.DataSource = mDataSet; gvClientes.DataMember = "cliente"; } private void btn_visualizar_Click(object sender, EventArgs e) { mostraResultados(); } private void btn_incluir_Click(object sender, EventArgs e) { if (txtb_nome.Text == "" && txtb_endereco.Text == "" && txtb_estado.Text == "") { MessageBox.Show("O Campo 'nome' não pode ser nulo\nO Campo 'endereço' não pode ser nulo\nO Campo 'estado' não pode ser nulo"); } else if (txtb_nome.Text == "" && txtb_endereco.Text == "") { MessageBox.Show("O Campo 'nome' não pode ser nulo\nO Campo 'endereço' não pode ser nulo"); } else if (txtb_nome.Text == "" && txtb_estado.Text == "") { MessageBox.Show("O Campo 'nome' não pode ser nulo\nO Campo 'estado' não pode ser nulo"); } else if (txtb_nome.Text == "") { MessageBox.Show("O Campo 'nome' não pode ser nulo"); } else if (txtb_endereco.Text == "" && txtb_estado.Text == "") { MessageBox.Show("O Campo 'endereço' não pode ser nulo\nO Campo 'estado' não pode ser nulo"); } else if (txtb_endereco.Text == "") { MessageBox.Show("O Campo 'endereço' não pode ser nulo"); } else if (txtb_estado.Text == "") { MessageBox.Show("O Campo 'estado' não pode ser nulo"); } else { try { mConn = new MySqlConnection("Persist Security Info=False; server=localhost;database=lucas;uid=root;password=Password1"); mConn.Open(); MySqlCommand command = new MySqlCommand("INSERT INTO cliente (nome,endereco,estado)" + "VALUES('" + txtb_nome.Text + "','" + txtb_endereco.Text + "','" + txtb_estado.Text + "')", mConn); //Executa a Query SQL command.ExecuteNonQuery(); // Fecha a conexão mConn.Close(); //Mensagem de Sucesso MessageBox.Show("Gravado com Sucesso!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information); // Método criado para que quando o registo é gravado, automaticamente a dataGridView efectue um "Refresh" //mostraResultados(); } catch (Exception er) { MessageBox.Show(er.ToString()); } } } } } Obrigado pela ajuda gente. Compartilhar este post Link para o post Compartilhar em outros sites