Usuário com melhor resposta
Como tratar um erro ou uma exceção quando não retorna linhas no Dataset.tables exibindo uma mensagem pro usuário que não há registros?

Pergunta
-
Boa Noite,
Estou com um problema, meio bobo, não to sabendo tratar um "erro" no Dataset quando não retorna linhas. Pois quando não há linhas queria retornar uma mensagem pro usuário: "Registro não encontrado". Por que toda vez que ele não encontra o registro ele da erro de exceção no código.
Meu código está assim:
conexaoDataSet = new DataSet(); conexao = new MySqlConnection("SERVER=localhost;DATABASE=teste;UID=root;PASSWORD=;"); try { conexao.Open(); string sql = "select COUNT(a.Cd_Consulta) AS cs from procedimentos d inner join consultas a on d.cd_procedimento = a.cd_procedimento where d.cd_procedimento='" + comboBox2.SelectedValue + "' and Dataa between '" + dateTimePicker1.Value.Date.ToString("yyyy-MM-dd") + "' and '" + dateTimePicker2.Value.Date.ToString("yyyy-MM-dd") + "%' group by d.Cd_Procedimento"; MySqlDataAdapter conexaoAdpter = new MySqlDataAdapter(sql, conexao); conexaoAdpter.Fill(conexaoDataSet, "consultas"); label9.Text = Convert.ToString(conexaoDataSet.Tables["consultas"].Rows[0]["cs"]); } catch (MySqlException ex) { MessageBox.Show("Erro de conexão" + ex); } conexao.Close();
Alguém pode me ajudar?
Respostas
-
Olá,
Tenta dessa forma inicialmente:
conexaoDataSet = new DataSet(); conexao = new MySqlConnection("SERVER=localhost;DATABASE=teste;UID=root;PASSWORD=;"); try { conexao.Open(); string sql = "select COUNT(a.Cd_Consulta) AS cs from procedimentos d inner join consultas a on d.cd_procedimento = a.cd_procedimento where d.cd_procedimento='" + comboBox2.SelectedValue + "' and Dataa between '" + dateTimePicker1.Value.Date.ToString("yyyy-MM-dd") + "' and '" + dateTimePicker2.Value.Date.ToString("yyyy-MM-dd") + "%' group by d.Cd_Procedimento"; MySqlDataAdapter conexaoAdpter = new MySqlDataAdapter(sql, conexao); conexaoAdpter.Fill(conexaoDataSet, "consultas"); if (conexaoDataSet.Tables["consultas"] != null && conexaoDataSet.Tables["consultas"].Rows.Count > 0) label9.Text = Convert.ToString(conexaoDataSet.Tables["consultas"].Rows[0]["cs"]); else MessageBox.Show("Registro não encontrado"); } catch (MySqlException ex) { MessageBox.Show("Erro de conexão" + ex); } conexao.Close();
Valeu!
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
- Editado André SeccoMVP quarta-feira, 23 de novembro de 2016 22:21
- Sugerido como Resposta André SeccoMVP quinta-feira, 24 de novembro de 2016 02:10
- Marcado como Resposta Robson William SilvaModerator quinta-feira, 24 de novembro de 2016 11:44
-
Ótimo Andressa!
Não esqueça de marcar a resposta para fechar o tópico!Valeu!
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- Marcado como Resposta Andressa.s sexta-feira, 25 de novembro de 2016 16:45
- Não Marcado como Resposta Andressa.s sexta-feira, 25 de novembro de 2016 16:45
- Marcado como Resposta Andressa.s sexta-feira, 25 de novembro de 2016 16:45
Todas as Respostas
-
Olá,
Tenta dessa forma inicialmente:
conexaoDataSet = new DataSet(); conexao = new MySqlConnection("SERVER=localhost;DATABASE=teste;UID=root;PASSWORD=;"); try { conexao.Open(); string sql = "select COUNT(a.Cd_Consulta) AS cs from procedimentos d inner join consultas a on d.cd_procedimento = a.cd_procedimento where d.cd_procedimento='" + comboBox2.SelectedValue + "' and Dataa between '" + dateTimePicker1.Value.Date.ToString("yyyy-MM-dd") + "' and '" + dateTimePicker2.Value.Date.ToString("yyyy-MM-dd") + "%' group by d.Cd_Procedimento"; MySqlDataAdapter conexaoAdpter = new MySqlDataAdapter(sql, conexao); conexaoAdpter.Fill(conexaoDataSet, "consultas"); if (conexaoDataSet.Tables["consultas"] != null && conexaoDataSet.Tables["consultas"].Rows.Count > 0) label9.Text = Convert.ToString(conexaoDataSet.Tables["consultas"].Rows[0]["cs"]); else MessageBox.Show("Registro não encontrado"); } catch (MySqlException ex) { MessageBox.Show("Erro de conexão" + ex); } conexao.Close();
Valeu!
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
- Editado André SeccoMVP quarta-feira, 23 de novembro de 2016 22:21
- Sugerido como Resposta André SeccoMVP quinta-feira, 24 de novembro de 2016 02:10
- Marcado como Resposta Robson William SilvaModerator quinta-feira, 24 de novembro de 2016 11:44
-
-
Ótimo Andressa!
Não esqueça de marcar a resposta para fechar o tópico!Valeu!
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- Marcado como Resposta Andressa.s sexta-feira, 25 de novembro de 2016 16:45
- Não Marcado como Resposta Andressa.s sexta-feira, 25 de novembro de 2016 16:45
- Marcado como Resposta Andressa.s sexta-feira, 25 de novembro de 2016 16:45