none
Como Pegar o último ID da tabela SQL Server - e passar para uma variável? RRS feed

  • Pergunta

  • Boa tarde pessoal,

    Fiz um método para pegar o último ID da tabela e não estou conseguindo. Estou recebendo o erro do catch.

    Podem me ajudar nisso? 

    Segue o código.

      void BuscarUltimoID()
            {
                try
                {
                    String StrConn;
                    StrConn = @"Data Source=DESKTOP-3O98051;Initial Catalog=SGFRenaissance;Integrated Security=True";
                    SqlConnection sqlConnection = new SqlConnection(StrConn);
                    sqlConnection.Open();
                    string sql = string.Format("select MAX(Cod_Lancamento) from Lancamentos");
                    SqlCommand sqlComm = new SqlCommand(sql, sqlConnection);
                    SqlDataReader reader = sqlComm.ExecuteReader();
                    while (reader.Read())
                    {
                        string MAXID = reader["Cod_Lancamento"].ToString();
                        cod_LancamentoTextBox.Text = MAXID;
                    }
    
                    sqlConnection.Close();
    
                }
                catch (Exception Ex)
                {
                    MessageBox.Show("Erro ao buscar Último ID!" + Ex.Message);
                } // Estou recebento este erro!
    
            }
    

    Desde já agradeço a todos.

    Att.

    Flávio Rocha.



    sábado, 31 de agosto de 2019 17:04

Respostas

  • Bom dia pessoal, 

    Felizmente consegui resolver baseado nas threads pesquisadas.

    Segue o código correto e mais simplificado em um método no C# :

      void BuscarUltimoID()
            {
                try
                {
                    String StrConn;
                    StrConn = @"Data Source=DESKTOP-3O98051;Initial Catalog=SGFRenaissance;Integrated Security=True";
                    SqlConnection sqlConnection = new SqlConnection(StrConn);
                    sqlConnection.Open();
                    string sql = "SELECT MAX(Cod_Lancamento) FROM Lancamentos";
                    SqlCommand command = new SqlCommand(sql, sqlConnection);
                    var MAXID = command.ExecuteScalar();
                    int UltimoID = Convert.ToInt32(MAXID);
                    cod_LancamentoTextBox.Text = Convert.ToString(UltimoID);
                    sqlConnection.Close();
                }
                catch (Exception Ex)
                {
                    MessageBox.Show("Erro ao buscar Último ID!" + Ex.Message);
                }
    
            }

    • Marcado como Resposta F.oliveirarocha domingo, 1 de setembro de 2019 14:10
    domingo, 1 de setembro de 2019 14:09