none
Problemas para rodar procedure. RRS feed

  • Pergunta

  • Amigos estou precisando da ajuda de vocês.

    Meu codigo esta rodando porem não esta atualizando a tabela.

    Alguem sabe o que pode estar acontecendo?

     

    Codigo para executar a procedure no botão.

    private void btnConsultar_Click(object sender, EventArgs e)

            {

                #region Trata Filtro Conceito

                string txtconceito = "";

                foreach (var item in lstfltconceitofiltro.Items)

                {

                    txtconceito += lstfltconceitofiltro.GetItemText(item) + ",";

                }

                System.Text.StringBuilder sbRangeConceito = new System.Text.StringBuilder();

                sbRangeConceito.Append(txtconceito);

                sbRangeConceito.Replace(",", "','");

                string rangeconceito;

                rangeconceito = "'" + sbRangeConceito.ToString() +"'";

                #endregion

               #region Apuração Já Estornado CB

                        if (cmbtipo.Text == "JÁ ESTORNADO - CB")

                        {

                            try

                            {

                                #region Atualiza tbl com os parametros indicado

                                ClsDados_Interno ps = new ClsDados_Interno();

                                ps.SP_AT_CB(rangeconceito.ToString());

                                this.Cursor = Cursors.WaitCursor;

                                #endregion

                                this.Cursor = Cursors.Default;

                                MessageBox.Show("Processo Concluido com Sucesso. " + qtd.ToString() + " Linhas alteradas.", "APURAÇÃO DO ESTORNO", MessageBoxButtons.OK);

                            }

                            catch (Exception)

                            {

                                throw;

                            }

                        }

            }

     

    Procedure na classe.

     

    public int SP_AT_CB(string _tpcomissao)

            {

                SqlConnection cn = new SqlConnection();

                cn = Abriconexao();

                SqlCommand cmdAjuda = new SqlCommand("SP_PROCEDURE",cn);

                cmdAjuda.CommandType = CommandType.StoredProcedure;

                SqlParameter param;

                param = new SqlParameter();

                param.Direction = ParameterDirection.Input;

                param.ParameterName = "@Var_Conceito";

                param.SqlDbType = SqlDbType.VarChar;

                param.Value = _tpcomissao.ToString();

                cmdAjuda.Parameters.Add(param);

                try

                {

                    int nLinhas;

                    nLinhas = cmdAjuda.ExecuteNonQuery();

                    return nLinhas;

                }

                catch (SqlException ex)

                {

                    throw new Exception("Erro encontrado: " + ex.Message);

                }

                finally

                {

                    FecharConexao(cn);

                }

            }

     

    Procedure SQL

     

    ALTER PROCEDURE [dbo].[SP_PROCEDURE]

     

    @Var_Conceito nvarchar(255)

     

    as

     

    UPDATE dbo.TB_PAGAMENTO SET teste = 'TEXTO'

    WHERE replace((CODCONTRATO + convert(varchar, DTATIVACAO,3) + conceito ),' ','')

                IN

    (SELECT DISTINCT replace((CODCONTRATO + convert(varchar,DTATIVACAO,3) + conceito),' ','') AS CHAVE

                FROM dbo.TB_PAG_NEG)

          AND teste Is Null

          AND descricao <> 'nao gerado no sistema'

          AND conceito not like 'CPVP%'

          AND CONCEITO IN ( @Var_Conceito )

         

    terça-feira, 5 de junho de 2012 13:51

Todas as Respostas