Jump to content
professor.rafael

Select Retorna Linha Em Braco No Mysql

Recommended Posts

professor.rafael

Caros amigos, gostaria de saber como faço para mandar uma mensagem quando o Select retornar uma linha em branco, de acordo com o creitério selecionado. Tenho o seguinte código no botão Pesquisar:

        private void btnPesquisar_Click(object sender, EventArgs e)

        {

            criterio = txtPesquisaNome.Text.ToString();

            if (criterio != "")

            {

                sqlString = "SELECT * FROM clientes Where cli_Nome LIKE '" + criterio + "%'";

                txtPesquisaNome.Focus();

                this.Close();

            }

            else

            {

                MessageBox.Show("Informe o nome a procurar com pelo menos um caractere.", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);

                txtPesquisaNome.Focus();

            }               

        }

Quando eu digito um critério (um nome) que não existe no banco ele está me retornando uma linha em branco. Eu gostaria que me retornasse uma mensagem dizendo que o critério não foi atendido. Abaixo segue o código do formulário Pesquisar:

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 IpilCompleto.Clientes

{

    public partial class frmPesquisarClientes : Form

    {

        private string criterio = "";

        public string sqlString = "";

        public frmPesquisarClientes()

        {

            InitializeComponent();

        }

        private void btnPesquisar_Click(object sender, EventArgs e)

        {

            criterio = txtPesquisaNome.Text.ToString();

            if (criterio != "")

            {

                sqlString = "SELECT * FROM clientes Where cli_Nome LIKE '" + criterio + "%'";

                txtPesquisaNome.Focus();

                this.Close();

            }

            else

            {

                MessageBox.Show("Informe o nome a procurar com pelo menos um caractere.", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);

                txtPesquisaNome.Focus();

            }               

        }

        private void btnSair_Click(object sender, EventArgs e)

        {

            this.Close();

        }

    }

}

Fico no aguardo de uma solução. Muito obrigado. :D

Share this post


Link to post
Share on other sites
nando4

Boas...

Código não testado:

SqlCommand cmd = new SqlCommand( "SELECT COUNT (*) FROM clientes Where cli_Nome LIKE '" + criterio + "%'");
            int valor = (int)cmd.ExecuteScalar();

            if (valor == 1)
            {
                //se linha nao estiver em branco
                
            }

            //se linha em branco
            MessageBox.Show("Linha em Branco", "ERRO");

OBS: usei comandos do SQL SERVER tem atenção a isso para adaptares para MySQL

Cumps

Share this post


Link to post
Share on other sites
professor.rafael

Formulário principal de Clientes

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 IpilCompleto.Clientes

{

    public partial class frmClientes : Form

    {

        private MySqlConnection Conecta;

        private MySqlDataAdapter da;

        private DataSet ds;

        private int linhaAtual = 0;

        //Variáveis para o campo da tabela clientes

        public string cli_id, cli_nome, cli_endereco, cli_email, cli_tel;

        public frmClientes()

        {

            InitializeComponent();

        }

       

        private void iniciaAcesso()

        {

            //define o dataset

            ds = new DataSet();

            //cria uma conexão usando a string de conexão

            Conecta = new MySqlConnection("Persist Security Info=False;server=localhost;database=ipil;uid=root;pwd=123456");

            try

            {

                //abre a conexao

                Conecta.Open();

            }

            catch (System.Exception e)

            {

                MessageBox.Show(e.Message.ToString());

            }

            if (Conecta.State == ConnectionState.Open)

            {

                //se a conexão estiver aberta usa uma instrução SQL para selecionar os registros da tabela clientes

                //SELECT campos FROM tabela

                da = new MySqlDataAdapter("SELECT * from clientes", Conecta);

                da.Fill(ds, "Tabela");

                //exibe os dados no datagridview

                dgvDados.DataSource = ds;

                dgvDados.DataMember = "Tabela";

            }

        }

        private void obtemDadosGrid()

        {

          //obtem os dados do datagridview da linha selecionada usando as posições das colunas

          //a primeira coluna é a coluna 0 a segunda é a coluna 1, e assim por diante

          cli_id = dgvDados[0, linhaAtual].Value.ToString();

          cli_nome = dgvDados[1, linhaAtual].Value.ToString();

          cli_endereco = dgvDados[2, linhaAtual].Value.ToString();

          cli_email = dgvDados[3, linhaAtual].Value.ToString();

          cli_tel = dgvDados[4, linhaAtual].Value.ToString();

        }

        private void frmClientes_Load(object sender, EventArgs e)

        {

            //chama rotina para exibir os dados no datagridview

            iniciaAcesso();

        }

        private void btnIncluirCli_Click(object sender, EventArgs e)

        {

            //instancia o formulário para incluir e exibe-o de forma modal

            frmIncluirClientes Cli_Incluir = new frmIncluirClientes();

            Cli_Incluir.ShowDialog();

            iniciaAcesso();

        }

        private void btnAlterarCli_Click(object sender, EventArgs e)

        {

            try

            {

                //obtem o código do cliente a partir da linha selecionada no datagridview

                cli_id = dgvDados[0, linhaAtual].Value.ToString();

            }

            catch (Exception ex)

            {

                MessageBox.Show("Erro..." + ex.Message);

            }

            if (linhaAtual >= 0)

            {

                //obtem dados do datagridview e atribui as variáveis definidas no formulario frmAlterarClientes

                obtemDadosGrid();

                frmAlterarClientes Cli_Alterar = new frmAlterarClientes();

                //

                Cli_Alterar.cli_id = cli_id;

                Cli_Alterar.cli_nome = cli_nome;

                Cli_Alterar.cli_endereco = cli_endereco;

                Cli_Alterar.cli_email = cli_email;

                Cli_Alterar.cli_tel = cli_tel;

                //exibe o formulário para alteração

                Cli_Alterar.ShowDialog();

                //atualiza o grid e reexibe os dados

                dgvDados.Update();

                iniciaAcesso();

            }

        }

        private void btnExcluirCli_Click(object sender, EventArgs e)

        {

            try

            {

                //obtem o código do cliente a partir da linha selecionada no datagridview

                cli_id = dgvDados[0, linhaAtual].Value.ToString();

            }

            catch (Exception ex)

            {

                MessageBox.Show("Erro..." + ex.Message);

            }

            if (linhaAtual >= 0)

            {

                //obtem dados do datagridview e atribui as variáveis definidas no formulario frmExcluirClientes

                obtemDadosGrid();

                frmExcluirClientes Cli_Excluir = new frmExcluirClientes();

                //

                Cli_Excluir.cli_id = cli_id;

                Cli_Excluir.cli_nome = cli_nome;

                Cli_Excluir.cli_endereco = cli_endereco;

                Cli_Excluir.cli_email = cli_email;

                Cli_Excluir.cli_tel = cli_tel;

                //exibe o formulário para exclusão

                Cli_Excluir.ShowDialog();

                //atualiza o grid e reexibe os dados

                dgvDados.Update();

                iniciaAcesso();

            }

        }

        private void btnProcurarCli_Click(object sender, EventArgs e)

        {

            frmPesquisarClientes Cli_Pesquisar = new frmPesquisarClientes();

            Cli_Pesquisar.ShowDialog();

            if (Cli_Pesquisar.sqlString != null && Cli_Pesquisar.sqlString != "")

                carregaGrid(Cli_Pesquisar.sqlString);

        }

        private void carregaGrid(string criterioSQL)

        {

            //define o dataset

            ds = new DataSet();

            //cria uma conexão usando a string de conexão

            Conecta = new MySqlConnection("Persist Security Info=False;server=localhost;database=ipil;uid=root;pwd=123456");

            try

            {

                //abre a conexao

                Conecta.Open();

            }

            catch (System.Exception e)

            {

                MessageBox.Show(e.Message.ToString());

            }

            if (Conecta.State == ConnectionState.Open)

            {

                //se a conexão estiver aberta usa uma instrução SQL para selecionar os registros da tabela clientes

                //SELECT campos FROM tabela

                da = new MySqlDataAdapter(criterioSQL, Conecta);

                da.Fill(ds, "Tabela");

                //exibe os dados no datagridview

                dgvDados.DataSource = ds;

                dgvDados.DataMember = "Tabela";

            }

        }

        private void btnSairCli_Click(object sender, EventArgs e)

        {

            this.Close();

        }

        private void dgvDados_CellClick(object sender, DataGridViewCellEventArgs e)

        {

            linhaAtual = int.Parse(e.RowIndex.ToString());

        }

    }

}

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.