none
SelectedIndexChanged, para popular. RRS feed

  • Pergunta

  • Bem pessoal, eu estou com um problema que é o seguinte: Tenho uma grid, onde vai mostrar alguns dados, só que no momento em que eu do select ele não seleciona e da um erro("Error converting data type nvarchar to int."). meu cod esta desse jeito:

    public partial class Empresas : System.Web.UI.Page
    {
        private string Empresa ;

        protected void Page_Load(object sender, EventArgs e)
        {

        }
        protected void btnAdicionar_Click(object sender, EventArgs e)
        {
            AcessoDados ad = new AcessoDados();
            Hashtable parametros = new Hashtable();

            parametros.Add("@Empresas", Convert.ToInt32(Empresa));
            parametros.Add("@TipoEmpresas", popTipoEmpresa.SelectedValue);
            parametros.Add("@Descricao", txtDescricaoEmpresa.Text);
            parametros.Add("@CPF_CNPJ", txtCPF_CNPJ.Text);
            parametros.Add("@Endereco", txtEndereco.Text);
            parametros.Add("@Bairro", txtBairro.Text);
            parametros.Add("@Cidade", txtCidade.Text);
            parametros.Add("@UF", popUF.SelectedValue);
            parametros.Add("@LocalizacaoX", txtLocalizacaoX.Text);
            parametros.Add("@LocalizacaoY", txtLocalizacaoY.Text);

            ad.ExecutarProcedure("EmpresasA", parametros);

            txtBairro.Text = "";
            txtCidade.Text = "";
            txtCPF_CNPJ.Text = "";
            txtDescricaoEmpresa.Text = "";
            txtEndereco.Text = "";
            txtLocalizacaoX.Text = "";
            txtLocalizacaoY.Text = "";
            popUF.Text = "";

            gvEmpresa.DataBind();

            TabEmpresa.ActiveTabIndex = 0;
        }
        protected void gvEmpresa_SelectedIndexChanged(object sender, EventArgs e)
        {
            Empresa = gvEmpresa.SelectedRow.Cells[2].Text;

            AcessoDados ad = new AcessoDados();
            Hashtable parametro = new Hashtable();
            DataSet ds = new DataSet();


            parametro.Add("@Empresas", Empresa);

            ds = ad.ObterDadosProcedure("EmpresasS", parametro);

            //DataGridItem item = this.gvEmpresa.;



        }
    }


    No banco de dados, o parametro ele pede um int.

    Quem poder me ajudar ja fico muito agradecido. O meu objetivo com esse select é popular os meus campos do formulario.
    sexta-feira, 25 de abril de 2008 13:24

Todas as Respostas

  • Fala Yuri, blz?

    Altera o seu código, deixando assim:

    Converter para Inteiro

    parametro.Add("@Empresas", Convert.ToInt32(Empresa));


    Isso converte seu dado para Inteiro (que é o que seu banco está esperando).

    Abs,
    sexta-feira, 25 de abril de 2008 16:44