Usuário com melhor resposta
explicar código

Pergunta
-
Boa noite galera alguém poderia me explicar esse código detalhadamente? agradeço desde já
mDataSet = new DataSet();
mconn = new MySqlConnection("Persist Security Info=False; server=localhost;database=casamento;uid=root;pwd=root");
mconn.Open();
string sql = "";
sql = sql + "SELECT MAX(qtd) FROM lista_convidados";MySqlCommand command = new MySqlCommand(sql, mconn);
MySqlDataReader dr = command.ExecuteReader();if (dr.Read())
{
double a = 1;
label8.Text = Convert.ToString(dr["MAX(qtd)"]);
double tbv1;
double tbv3;
if (dr["MAX(qtd)"] == DBNull.Value)
{
label8.Text = a.ToString();
}
else
{
tbv1 = Convert.ToDouble(label8.Text);
tbv3 = Convert.ToDouble(a);textqtd.Text = Convert.ToString(tbv1 + tbv3);
}
Respostas
-
Segue o código comentado:
//mDataSet está sobrando mDataSet = new DataSet(); //cria a conexão com o banco de dados mconn = new MySqlConnection("Persist Security Info=False; server=localhost;database=casamento;uid=root;pwd=root"); //abre a conexão mconn.Open(); string sql = ""; //define a query que vai ser executada sql = sql + "SELECT MAX(qtd) FROM lista_convidados"; //instancia o MySqlCommand (nada é executado ainda) MySqlCommand command = new MySqlCommand(sql, mconn); //Executa a consulta e retorna os dados em um MySqlDataReader MySqlDataReader dr = command.ExecuteReader(); //Lê a primeira linha do resultado (true se tiver linha a ser lida e false se não tiver) if (dr.Read()) { double a = 1; //Pega o valor da coluna MAX(qtd) - note que esta não é uma coluna, então adicione um Alias ex: //sql + "SELECT MAX(qtd) AS qtd FROM lista_convidados" //Convert.ToString(dr["qtd"]) label8.Text = Convert.ToString(dr["MAX(qtd)"]); double tbv1; double tbv3; //Verifica se o retorno é igual a NULL if (dr["MAX(qtd)"] == DBNull.Value) { //label8.Text = "1"; label8.Text = a.ToString(); } else { //converte para Double o valor da consulta se não for NULL, caso contrário será 1 tbv1 = Convert.ToDouble(label8.Text); //a sempre será 1 tbv3 = Convert.ToDouble(a); //textqtd.Text recebe a soma de (1 ou valor da consulta se não for NULL) + 1 textqtd.Text = Convert.ToString(tbv1 + tbv3); } }
- Sugerido como Resposta Roberto AB Filho segunda-feira, 28 de março de 2016 13:34
- Marcado como Resposta Marcos SJ segunda-feira, 28 de março de 2016 14:32
Todas as Respostas
-
-
Segue o código comentado:
//mDataSet está sobrando mDataSet = new DataSet(); //cria a conexão com o banco de dados mconn = new MySqlConnection("Persist Security Info=False; server=localhost;database=casamento;uid=root;pwd=root"); //abre a conexão mconn.Open(); string sql = ""; //define a query que vai ser executada sql = sql + "SELECT MAX(qtd) FROM lista_convidados"; //instancia o MySqlCommand (nada é executado ainda) MySqlCommand command = new MySqlCommand(sql, mconn); //Executa a consulta e retorna os dados em um MySqlDataReader MySqlDataReader dr = command.ExecuteReader(); //Lê a primeira linha do resultado (true se tiver linha a ser lida e false se não tiver) if (dr.Read()) { double a = 1; //Pega o valor da coluna MAX(qtd) - note que esta não é uma coluna, então adicione um Alias ex: //sql + "SELECT MAX(qtd) AS qtd FROM lista_convidados" //Convert.ToString(dr["qtd"]) label8.Text = Convert.ToString(dr["MAX(qtd)"]); double tbv1; double tbv3; //Verifica se o retorno é igual a NULL if (dr["MAX(qtd)"] == DBNull.Value) { //label8.Text = "1"; label8.Text = a.ToString(); } else { //converte para Double o valor da consulta se não for NULL, caso contrário será 1 tbv1 = Convert.ToDouble(label8.Text); //a sempre será 1 tbv3 = Convert.ToDouble(a); //textqtd.Text recebe a soma de (1 ou valor da consulta se não for NULL) + 1 textqtd.Text = Convert.ToString(tbv1 + tbv3); } }
- Sugerido como Resposta Roberto AB Filho segunda-feira, 28 de março de 2016 13:34
- Marcado como Resposta Marcos SJ segunda-feira, 28 de março de 2016 14:32