none
Linha afetadas com UpdateCommand RRS feed

  • Pergunta

  • Pressoal como faço para saber quantas linhas foram alteradas com o UpdateCommand?

    Digamos que tenho um formulário com 10 forms, e alterei somente 2 forms e após realizar o UpdateCommand como faço para ele me retornar que foram afetados apenas 2. ?

    Alguma sugestão?

    Grato!

    sexta-feira, 17 de agosto de 2012 17:23

Respostas

  • Vou te liberar meu método de Update para Query simples com multiplos parâmetros. Divirta-se:

            /// <summary>
            /// Executa uma query através de um ExecuteScalar. Retorna um inteiro com números de linhas afetadas pelo Update.
            /// <para>
            ///     A melhor maneira de utilizar este método é:
            ///     <para><para>----------------------------------------------------</para>
            ///         int update = UpdateQuery("query", Valorp0, Valorp1))
            ///     </para>
            /// </para><para>----------------------------------------------------</para>
            /// <para>O command sofrerá um dispose() e fechará a conexão.</para>
            /// </summary>
            /// <param name="cmdTxt">Somente Query SQL com condição (WHERE). Para query sem condição utilize o método sobrecarregado sem parâmetros.</param>
            /// <param name="parametros">Parâmetros condicionais (EX.: @p0, @p1, [...], @pN)</param>
            /// <returns></returns>
            public int UpdateQuery(string cmdTxt, params object[] parametros)
            {
                int total;
                
                SqlConnection conn = new SqlConnection(Conexao.GetConectionString());
                SqlCommand cmd = null;
    
                try
                {
                    cmd = new SqlCommand(cmdTxt, conn);
    
                    for (int i = 0; i < parametros.Length; i++)
                    {
                        SqlParameter p = new SqlParameter();
                        p.ParameterName = "@p" + i;
                        p.Direction = ParameterDirection.Input;
                        p.Value = parametros[i];
    
                        cmd.Parameters.Add(p);
                    }
    
                    conn.Open();
                    total = cmd.ExecuteNonQuery();
                    cmd.Dispose();
                    return total;
                }
                catch
                {
                    if (cmd != null) cmd.Dispose();
                    conn.Close();
                    throw;
                }
            }



    Rafael Santos

    Observações:
    1. Selecione a opção "Habilitar o Live Alerts por Padrão" nas suas configurações para que possa acompanhar em tempo real as atividades relacionadas a sua Thread;
    2. Não abandone sua Thread. Ao perguntar, fique atento às respostas; ao encontrar uma solução, compartilhe;
    3. As pessoas que dedicam seu tempo na busca por soluções para você não ganham nada em troca. Valorize-as e em forma de agradecimento pontue as respostas corretas.

    "Quem disse que não escrevo poesias? A diferença é que as minhas começam com using System;"


    • Editado Rafa Santos sexta-feira, 17 de agosto de 2012 17:38
    • Marcado como Resposta Harley Araujo terça-feira, 21 de agosto de 2012 11:43
    sexta-feira, 17 de agosto de 2012 17:38