Usuário com melhor resposta
Botão Update dando erro mysql c#

Pergunta
-
Boa Noite,
aqui estou mais uma vez precisando de ajuda, pra variar...hehe
Estou fazendo um update com monthCalendar e datagridview, porém está dando erro, ele para no meu catch, ja modifiquei o codigo varias vezes, se alguém conseguir me apontar o erro agradeço.
public Agendamento(string cd ) { InitializeComponent(); conexao = new MySqlConnection("SERVER=localhost;DATABASE=teste;UID=root;PASSWORD=;"); string sql = "Cd_Consulta,Dataa,Horario,cd_paciente,cro,cd_procedimento from consultas Where Cd_Consulta='" + cd + "'"; DataTable dttpa = new DataTable(); try { conexao.Open(); if (conexao.State == ConnectionState.Open) { objAdapter = new MySqlDataAdapter(sql, conexao); objAdapter.Fill(dttpa); textBox3.Text = dttpa.Rows[0]["Cd_Consulta"].ToString();
monthCalendar1.Text = dttpa.Rows[0]["Dataa"].ToString(); maskedTextBox4.Text = dttpa.Rows[0]["Horario"].ToString(); textBox1.Text = dttpa.Rows[0]["cd_paciente"].ToString();
//ComboBox estão alimentadas com valor do banco comboBox2.SelectedValue = dttpa.Rows[0]["cro"].ToString(); comboBox3.SelectedValue = dttpa.Rows[0]["cd_procedimento"].ToString(); } else { MessageBox.Show("Falha na abertura da conexão", "Erro"); } } //Da erro aqui catch { MessageBox.Show("Falha na leitura dos dados no banco", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { conexao.Close(); } }
Botão alterar:
private void button5_Click(object sender, EventArgs e) { int indi = dataGridView2.CurrentRow.Index; string tempor = dataGridView2[2, indi].Value.ToString(); Agendamento fcc = new Agendamento(tempor); fcc.ShowDialog(); }
Classe com update:
class dal_atualizar_consultas { private MySqlConnection conexao; public void cadastro(cadas_consulta cadast) { string caminho = "SERVER=localhost;DATABASE=teste;UID=root;PASSWORD=;"; try { conexao = new MySqlConnection(caminho); conexao.Open(); //"WHERE Cd_Paciente like'" + cd + "'" string inserir = "UPDATE consultas SET Dataa='" + cadast.Dataa + "',Horario='" + cadast.Horario + "', cd_paciente='" + cadast.cd_paciente + "', cro='" + cadast.cro + "', cd_procedimento='" + cadast.cd_procedimento + "' WHERE Cd_Consulta='" + cadast.Codigo + "'"; MySqlCommand comandos = new MySqlCommand(inserir, conexao); comandos.ExecuteNonQuery(); MessageBox.Show("Consulta Atualizado com Sucesso!"); conexao.Close(); } catch (Exception ex) { throw new Exception("Erro de comandos" + ex.Message); } } } }
Se alguém puder ajudar, agradeço!
- Editado Andressa.s quinta-feira, 17 de novembro de 2016 02:12
Respostas
-
Acabei de resolver
eu iniciei o índice no botão em 2 , dai mudei pra zero funcinou!
Ficou assim:
private void button5_Click(object sender, EventArgs e) { int indi = dataGridView2.CurrentRow.Index; //Estava com 2 -Mudei pra zero string tempor = dataGridView2[0, indi].Value.ToString(); Agendamento fcc = new Agendamento(tempor); fcc.ShowDialog(); }
Obrigada a todos!
- Marcado como Resposta AndreAlvesLimaModerator sexta-feira, 18 de novembro de 2016 08:49
Todas as Respostas
-
Olá Andressa,
Para começar, no seu primeiro código, no método Agendamento, a sua string sql está faltando no início da string a palavra SELECT
Tem que deixar assim e testar:
string sql = "Select Cd_Consulta,Dataa,Horario,cd_paciente,cro,cd_procedimento from consultas Where Cd_Consulta='" + cd + "'";
Testa aí e vê se é só isso
Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!
André Secco
Microsoft MSP & MSDN Tech Advisor
Blog: http://andresecco.com.br
GitHub: http://github.com/andreluizsecco
Twitter: @andre_secco -
-
Posta a mensagem de erro completa, por gentileza
Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!
André Secco
Microsoft MSP & MSDN Tech Advisor
Blog: http://andresecco.com.br
GitHub: http://github.com/andreluizsecco
Twitter: @andre_secco -
-
Retire o try Cacth temporariamente. No seu caso ele mais atrapalha do que ajuda, pois ele nao exibe a real mensagem de erro.
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
-
-
-
Acabei de resolver
eu iniciei o índice no botão em 2 , dai mudei pra zero funcinou!
Ficou assim:
private void button5_Click(object sender, EventArgs e) { int indi = dataGridView2.CurrentRow.Index; //Estava com 2 -Mudei pra zero string tempor = dataGridView2[0, indi].Value.ToString(); Agendamento fcc = new Agendamento(tempor); fcc.ShowDialog(); }
Obrigada a todos!
- Marcado como Resposta AndreAlvesLimaModerator sexta-feira, 18 de novembro de 2016 08:49