读数据库的问题

邦迪代驾 2007-02-10 03:31:16
小弟刚刚学NET,遇到了点问题,请大侠们帮忙看一下,
刚开始的时候可以显示,但是多刷新几次就不行了,



using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using sqlconnectiondb;
public partial class _Menu : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Response.Write("<table cellpadding='0' cellspacing='0' border='0' width='100' bgcolor='#99cc66'>");
//Response.Write("<tr bgcolor='#336666'><td width='100%' height='20'></td></tr>");
SqlConnection cnd = db.returnsql2();
cnd.Open();
SqlCommand cmd = new SqlCommand("select * from flymenu where menuid='0'", cnd);
SqlDataReader dr = cmd.ExecuteReader();
//try
//{
while (dr.Read())
{
Response.Write("<tr bgcolor='#8BC77D'>");
Response.Write(" <td align='center' width='120' height='20'class='bigmenu'>");
Response.Write("<img id='bigmenuimg" + dr["id"] + "' src='http://www.aspxcs.com/Images/open.gif'> ");
Response.Write("<img id='fbigmenuimg" + dr["id"] + "' src='http://www.aspxcs.com/Images/fopen.gif'> ");
Response.Write("<span style='cursor:hand;;' onclick='diplaymenu(smallmenu" + dr["id"] + ",bigmenuimg" + dr["id"] + ",fbigmenuimg" + dr["id"] + ")'><b>" + dr["menucontent"] + "</b></span></td></tr>");
SqlConnection cnd1 = db.returnsql2();
cnd1.Open();
SqlCommand cmd1 = new SqlCommand("select * from flymenu where menuid="+dr["id"], cnd1);
SqlDataReader dr1 = cmd1.ExecuteReader();
Response.Write("<tr bgcolor='#8BC77D'>");
Response.Write(" <td align='center' width='100%' class='smallmenu'>");
Response.Write("<table cellpadding='0' id='smallmenu" + dr["id"] + "' style='display:block;' cellspacing='0' border='0' width='100%' bgcolor='#99cc66'>");
try
{
while(dr1.Read())
{
Response.Write("<tr bgcolor='#8BC77D'>");
Response.Write(" <td align='center' width='100%' height='20' class='smallmenu'>");
Response.Write("<img src=Images/line1.gif>");
Response.Write("<img src=Images/doc.gif>");
Response.Write(dr1["menucontent"] + "</td></tr>");
}
}
catch
{
Response.Write("类别菜单更新当中... ...");
}
cnd1.Close();
Response.Write("</table>");
Response.Write("</td></tr>");
}
//}
//catch
//{
// Response.Write("类别菜单更新当中... ...");
//}
Response.Write("</table>");
cnd.Close();
}
}
...全文
182 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
邦迪代驾 2007-02-10
  • 打赏
  • 举报
回复
谢谢上面的兄弟,有没有其他好的思路了?
feiyun0112 2007-02-10
  • 打赏
  • 举报
回复
dr1.close();
cnd1.Close();

dataset的用法

SqlDataAdapter adapter = new SqlDataAdapter("select * from flymenu where menuid='0'", cnd);
dataset ds=new dataset();
adapter.fill(ds);
if (ds.tables[0]!= null && ds.tables[0].rows.count>0)
{
for(int i=0 ;i<ds.tables[0].rows.count;i++)
{
Response.Write("<img id='bigmenuimg" + ds.tables[0].rows[i]["id"] + "' src='http://www.aspxcs.com/Images/open.gif'> ");

....

}
}
邦迪代驾 2007-02-10
  • 打赏
  • 举报
回复
在哪关闭数据呀,我是新手,帮我指点一下
如果用dataset的话,是怎样的一个实现思想,能说清楚点,谢谢啦
belldandy11 2007-02-10
  • 打赏
  • 举报
回复
用完了就关
心晴Sunheart 2007-02-10
  • 打赏
  • 举报
回复
dr1.Read()
之后应该关闭
dr1.Close();
还有就是建议用StringBuilder
feiyun0112 2007-02-10
  • 打赏
  • 举报
回复
SqlDataReader 都没有close

而且你嵌套了几个SqlDataReader ,最好改为dataset

*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)

最新版本:20070210

http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
邦迪代驾 2007-02-10
  • 打赏
  • 举报
回复
大哥大姐们人呢,小弟有问题啦...

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧