Sign In| Join
Get Help:Ask a Question in our Forums|Report a Bug|More Help Resources
Last post Dec 30, 2012 10:42 PM by cms9651
Member
175 Points
573 Posts
Dec 30, 2012 09:20 PM|LINK
c# - Label does not change value inside a while loop
Why?
I see in my output only the last record extract with the SQL2 query. I tried with:
Response.Write(Convert.ToDateTime(dr2[0]).ToString("ddd, dd MMMM yyyy").ToUpper() + "<br />"); Response.Write(Convert.ToString(dr2[1]).ToUpper() + "<br /><br />");
and I see all record's of the SQL2 query.
thank you
SQL2 = "SELECT myDate, myTitle FROM TBL_CLIK ORDER BY ID DESC LIMIT 4"; OdbcCommand cmd2 = new OdbcCommand(SQL2, conn); OdbcDataReader dr2 = cmd2.ExecuteReader(); if (dr2 != null && !dr2.IsClosed) { if (dr2.HasRows) { while (dr2.Read()) { lbl1.Text = Convert.ToDateTime(dr2[0]).ToString("ddd, dd MMMM yyyy").ToUpper() + "<br />"; lbl2.Text = Convert.ToString(dr2[1]).ToUpper() + "<br /><br />"; templatemo_current.ImageUrl = "/images/templatemo_current.png"; } } } <asp:Image ID="templatemo_current" runat="server" /> <b><asp:Label ID="lbl1" runat="server"></asp:Label> <asp:Label ID="lbl2" runat="server"></asp:Label></b>
All-Star
112157 Points
18249 Posts
Moderator
Dec 30, 2012 09:32 PM|LINK
The result you're seeing is what I'd expect. On every iteration of the loop you're overwriting the value in the same labels.
Dec 30, 2012 09:34 PM|LINK
thank you, but how do you resolve?
Dec 30, 2012 09:37 PM|LINK
Since you have a lot of "results", you might use a data control like say a gridview or datalist.
Dec 30, 2012 09:44 PM|LINK
thank you I need only last four results
Dec 30, 2012 10:05 PM|LINK
I tried this datalist but I have error
CS0103: The name 'lbl1' does not exist in the current context.
<asp:DataList ID="DataList1" runat="server"> <ItemTemplate> <asp:Image ID="templatemo_current" runat="server" /> <asp:Label ID="lbl1" runat="server"></asp:Label> <a href="#"><strong> <asp:HyperLink ID="lbl2" runat="server"></asp:HyperLink> </strong></a> </ItemTemplate> </asp:DataList> SQL2 = "SELECT myDate, myTitle FROM TBL_CLIK ORDER BY ID DESC LIMIT 4"; OdbcCommand cmd2 = new OdbcCommand(SQL2, conn); OdbcDataReader dr2 = cmd2.ExecuteReader(); if (dr2 != null && !dr2.IsClosed) { if (dr2.HasRows) { while (dr2.Read()) { lbl1.Text = Convert.ToDateTime(dr2[0]).ToString("ddd, dd MMMM yyyy").ToUpper() + "<br />"; lbl2.Text = Convert.ToString(dr2[1]).ToUpper() + "<br /><br />"; templatemo_current.ImageUrl = "/images/templatemo_current.png"; } } }
Dec 30, 2012 10:42 PM|LINK
Solved, thank you for suggestion DataList
SQL2 = "SELECT * FROM TBL_CLIK ORDER BY ID DESC LIMIT 4"; OdbcCommand cmd2 = new OdbcCommand(SQL2, conn); DataList1.DataSource = cmd2.ExecuteReader(); DataList1.DataBind(); cmd2.Dispose(); <asp:DataList ID="DataList1" runat="server"> <ItemTemplate> <asp:Image ID="templatemo_current" runat="server" ImageUrl="/images/templatemo_current.png" /> <asp:Label ID="lbl1" runat="server" Style="text-transform: uppercase" Text='<%# Eval("myDate", "{0:ddd, dd MMMM yyyy}") %>'></asp:Label> <br /> <a href="#"><strong> <asp:HyperLink ID="lbl2" runat="server" Text='<%# Eval("myTitle")%>' NavigateUrl='<%# String.Format("count.aspx?ID={0}", Eval("ID")) %>'> </asp:HyperLink> </ItemTemplate> </asp:DataList>
cms9651
Member
175 Points
573 Posts
c# - Label does not change value inside a while loop
Dec 30, 2012 09:20 PM|LINK
c# - Label does not change value inside a while loop
Why?
I see in my output only the last record extract with the SQL2 query.
I tried with:
Response.Write(Convert.ToDateTime(dr2[0]).ToString("ddd, dd MMMM yyyy").ToUpper() + "<br />"); Response.Write(Convert.ToString(dr2[1]).ToUpper() + "<br /><br />");and I see all record's of the SQL2 query.
thank you
SQL2 = "SELECT myDate, myTitle FROM TBL_CLIK ORDER BY ID DESC LIMIT 4"; OdbcCommand cmd2 = new OdbcCommand(SQL2, conn); OdbcDataReader dr2 = cmd2.ExecuteReader(); if (dr2 != null && !dr2.IsClosed) { if (dr2.HasRows) { while (dr2.Read()) { lbl1.Text = Convert.ToDateTime(dr2[0]).ToString("ddd, dd MMMM yyyy").ToUpper() + "<br />"; lbl2.Text = Convert.ToString(dr2[1]).ToUpper() + "<br /><br />"; templatemo_current.ImageUrl = "/images/templatemo_current.png"; } } } <asp:Image ID="templatemo_current" runat="server" /> <b><asp:Label ID="lbl1" runat="server"></asp:Label> <asp:Label ID="lbl2" runat="server"></asp:Label></b>MetalAsp.Net
All-Star
112157 Points
18249 Posts
Moderator
Re: c# - Label does not change value inside a while loop
Dec 30, 2012 09:32 PM|LINK
The result you're seeing is what I'd expect. On every iteration of the loop you're overwriting the value in the same labels.
cms9651
Member
175 Points
573 Posts
Re: c# - Label does not change value inside a while loop
Dec 30, 2012 09:34 PM|LINK
thank you, but how do you resolve?
MetalAsp.Net
All-Star
112157 Points
18249 Posts
Moderator
Re: c# - Label does not change value inside a while loop
Dec 30, 2012 09:37 PM|LINK
Since you have a lot of "results", you might use a data control like say a gridview or datalist.
cms9651
Member
175 Points
573 Posts
Re: c# - Label does not change value inside a while loop
Dec 30, 2012 09:44 PM|LINK
thank you I need only last four results
cms9651
Member
175 Points
573 Posts
Re: c# - Label does not change value inside a while loop
Dec 30, 2012 10:05 PM|LINK
I tried this datalist but I have error
CS0103: The name 'lbl1' does not exist in the current context.
<asp:DataList ID="DataList1" runat="server"> <ItemTemplate> <asp:Image ID="templatemo_current" runat="server" /> <asp:Label ID="lbl1" runat="server"></asp:Label> <a href="#"><strong> <asp:HyperLink ID="lbl2" runat="server"></asp:HyperLink> </strong></a> </ItemTemplate> </asp:DataList> SQL2 = "SELECT myDate, myTitle FROM TBL_CLIK ORDER BY ID DESC LIMIT 4"; OdbcCommand cmd2 = new OdbcCommand(SQL2, conn); OdbcDataReader dr2 = cmd2.ExecuteReader(); if (dr2 != null && !dr2.IsClosed) { if (dr2.HasRows) { while (dr2.Read()) { lbl1.Text = Convert.ToDateTime(dr2[0]).ToString("ddd, dd MMMM yyyy").ToUpper() + "<br />"; lbl2.Text = Convert.ToString(dr2[1]).ToUpper() + "<br /><br />"; templatemo_current.ImageUrl = "/images/templatemo_current.png"; } } }cms9651
Member
175 Points
573 Posts
Re: c# - Label does not change value inside a while loop
Dec 30, 2012 10:42 PM|LINK
Solved, thank you for suggestion DataList
SQL2 = "SELECT * FROM TBL_CLIK ORDER BY ID DESC LIMIT 4"; OdbcCommand cmd2 = new OdbcCommand(SQL2, conn); DataList1.DataSource = cmd2.ExecuteReader(); DataList1.DataBind(); cmd2.Dispose(); <asp:DataList ID="DataList1" runat="server"> <ItemTemplate> <asp:Image ID="templatemo_current" runat="server" ImageUrl="/images/templatemo_current.png" /> <asp:Label ID="lbl1" runat="server" Style="text-transform: uppercase" Text='<%# Eval("myDate", "{0:ddd, dd MMMM yyyy}") %>'></asp:Label> <br /> <a href="#"><strong> <asp:HyperLink ID="lbl2" runat="server" Text='<%# Eval("myTitle")%>' NavigateUrl='<%# String.Format("count.aspx?ID={0}", Eval("ID")) %>'> </asp:HyperLink> </ItemTemplate> </asp:DataList>