Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

MestreOryon

Consulta dando pp

Recommended Posts

Pessoal, eu fiz a consulta em ordem DESC, então deveria me dar o ultimo valor do banco, mas esta me dando o primeiro, alguém sabe o que eu fiz de errado ?

 

 

 

string saida = "";
           string id = "";
              sqlCoon = new SqlConnection(strCoon);
               sqlCoon.Open();

               _Sql = "SELECT [idponto]AS ID, [Funcionario]AS Funcionário, [Entrada], [saida] As Saída FROM Ponto WHERE @cpf = Funcionario ORDER BY idponto DESC";
               SqlCommand cmd = new SqlCommand(_Sql, sqlCoon);
               string user = "";
               user = "41398039837";


               cmd.Parameters.Add("@cpf", SqlDbType.VarChar).Value = user;

               SqlDataReader dr = cmd.ExecuteReader();

               while (dr.Read())
               {
                   id = dr[0].ToString();
                   saida = dr[3].ToString();


               }

               lbcpf.Text = id +"-"+ saida;
               if (saida == "")
               {
                   MessageBox.Show("Saída Vazia");
                   //SqlCommand update = new SqlCommand("UPDATE Saida FROM ponto WHERE idponto = @id", sqlCoon);
                   //update.Parameters.Add("@id", SqlDbType.Int).Value = id;
               }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara eu acho mais fácil você usar o Scalar para chamar a ultima linha do BD, depois pegar esse numero e por no index da row quando você executar o datatable:

 

 

private void Form1_Load(object sender, EventArgs e)
       {
           String SQL = "SELECT * FROM <tabela>";
           SqlCommand com = new SqlCommand(SQL, SQLCoon);
           SQLCoon.Open();
           //selecionanddo ultimo registro
           int row = Convert.ToInt32(com.ExecuteScalar());

           //pega um item da ultima coluna
           String reg = getDS("SELECT * FROM <Tabela>").Tables[0].Rows[row]["<nome da coluna>"].ToString();

           //outro modo de pegar a linha, porem pegando a linha toda
           DataRow reg1 = getDS("SELECT * FROM <Tabela>").Tables[0].Rows[row];

           SQLCoon.Close();
       }

       public DataSet getDS(string SQL)
       {

           DataSet ds = new DataSet();
           SqlDataAdapter da = new SqlDataAdapter(SQL,SQLCoon);
           da.Fill(ds);
           return ds;
       }

 

 

Esse é um exemplo, entendeu a lógica?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.