kdhlinha 0 Denunciar post Postado Julho 15, 2005 Ola!! Eu to com o seguinte erro: eu fis uma consulta sql e depois joguei o resultado num datagrid, acontece que antes funcionava, mas dai eu tive de refazer o BD e paro de funcionar olhem meu codigo: E outra coisa, eu to tentando jogar somente uma coluna da tabela que seria a coluna Data, mas acontece que da o seguinte erro: There is already an open DataReader associated with this Connection which must be closed first. //Recebe conteudo de titulo numa querystring string Titulo; Titulo = Request.QueryString ["Titulo"]; this.lbltitulo.Text = Titulo; //faz a colsulta no DB filtrando por titulo string sql="Select*FROM RELATORIOS WHERE Titulo LIKE '" + Titulo + "'"; this.connRelatorios.Open (); SqlCommand cmd = new SqlCommand (sql,connRelatorios); dr=cmd.ExecuteReader (); dr=null; try { dr = cmd.ExecuteReader (); this.dtgRelatorio.DataSource = dr; this.dtgRelatorio.DataBind (); if (dr.Read ()) { this.lblData.Text = dtsPagRelatorios.Tables["RELATORIOS"].Rows[0]["data"].ToString(); //this.lblData.Text = dr["data"].ToString (); } else { this.lblData.Text = "//"; } } catch(Exception ex) { this.lblData.Text = "Ocorreu o seguinte erro" + ex.Message +"durante a execução!!"; } Compartilhar este post Link para o post Compartilhar em outros sites
rOcKLoCo 0 Denunciar post Postado Julho 18, 2005 cara, você está executando o DataReader antes do try e dentro dele... remove o q está antes... q vai funcionar!!ok?Att,Carlos Compartilhar este post Link para o post Compartilhar em outros sites
kdhlinha 0 Denunciar post Postado Julho 18, 2005 Ola Carlos!! Agora funciono o datagrid, mas eu ainda naum conssegui jogar o valor do campo Data da tabela no meu label, ele da o seguinte erro Invalid attempt to read when no data is present.olha meu codigo como fico!! private void Page_Load(object sender, System.EventArgs e) { //Recebe conteudo de titulo numa querystring string Titulo; Titulo = Request.QueryString ["Titulo"]; this.lbltitulo.Text = Titulo; //faz a colsulta no DB filtrando por titulo string sql="Select*FROM RELATORIOS WHERE Titulo LIKE '" + Titulo + "'"; this.connRelatorios.Open (); cmd = new SqlCommand (sql,connRelatorios); dr=cmd.ExecuteReader (); try { this.dtgRelatorio.DataSource = dr; this.dtgRelatorio.DataBind (); this.lblData.Text = dr["Data"].ToString (); } catch(Exception ex) { this.lblRelatorios.Text = "Ocorreu o seguinte erro " + ex.Message; } dr.Close(); connRelatorios.Close (); Compartilhar este post Link para o post Compartilhar em outros sites
rOcKLoCo 0 Denunciar post Postado Julho 18, 2005 tente fazer assim private void Page_Load(object sender, System.EventArgs e) { //Recebe conteudo de titulo numa querystring string Titulo; Titulo = Request.QueryString ["Titulo"]; this.lbltitulo.Text = Titulo; //faz a colsulta no DB filtrando por titulo string sql="Select*FROM RELATORIOS WHERE Titulo LIKE '" + Titulo + "'"; this.connRelatorios.Open (); cmd = new SqlCommand (sql,connRelatorios); dr=cmd.ExecuteReader (); try { if(dr.Read()) { this.dtgRelatorio.DataSource = dr; this.dtgRelatorio.DataBind (); this.lblData.Text = dr["Data"].ToString (); } } catch(Exception ex) { this.lblRelatorios.Text = "Ocorreu o seguinte erro " + ex.Message; } dr.Close(); connRelatorios.Close (); Compartilhar este post Link para o post Compartilhar em outros sites
kdhlinha 0 Denunciar post Postado Julho 18, 2005 Dai ele naum mostra nem no datagrid!!Oq seria esse dr.Read() Compartilhar este post Link para o post Compartilhar em outros sites
rOcKLoCo 0 Denunciar post Postado Julho 18, 2005 O Read() prepara o DataReader para leitura... o Datareader fica "bloqueado" para leitura enquanto você não usar o Read() para atribuir valores aos controles diretamente... só avisando q essa explicação é do q eu entendi q acontece.. ok??? agora tente assim: private void Page_Load(object sender, System.EventArgs e){ //Recebe conteudo de titulo numa querystring string Titulo; Titulo = Request.QueryString ["Titulo"]; this.lbltitulo.Text = Titulo; //faz a colsulta no DB filtrando por titulo string sql="Select*FROM RELATORIOS WHERE Titulo LIKE '" + Titulo + "'"; this.connRelatorios.Open (); cmd = new SqlCommand (sql,connRelatorios); dr=cmd.ExecuteReader (); try { this.dtgRelatorio.DataSource = dr; this.dtgRelatorio.DataBind (); this.lblData.Text = this.dgIdiomas.Items[0].Cells[0].Text; //No Items[] coloque o indice da linha q você quer pegar do DataGrid //No Cells[] coloque o indice do campo que contém a Data no DataGrid... } catch(Exception ex) { this.lblRelatorios.Text = "Ocorreu o seguinte erro " + ex.Message; } dr.Close(); connRelatorios.Close (); Compartilhar este post Link para o post Compartilhar em outros sites