DBHelp DB = new DBHelp();
protected void Page_Load(object sender, EventArgs e)
{
string sqlStr=DB.GetSqlStr("select", "base_class", "id,name", "", "", "sortnum asc");
DataSet DS_Parent=DB.GetDate(sqlStr);
DB.clear();
for (int i = 0; i < DS_Parent.Tables[0].Rows.Count; i++) {
Response.Write(DS_Parent.Tables[0].Rows[i]["name"]);
showSecondMenu(2);
}
}
public void showSecondMenu(int parentId){
string sqlStr1 = DB.GetSqlStr("select", "second_class", "id,name", "", "", "sortnum asc");
DataSet DS_Second = DB.GetDate(sqlStr1);
for (int i = 0; i < DS_Second.Tables[0].Rows.Count; i++)
{
Response.Write(DS_Second.Tables[0].Rows[i]["name"]); }
DS_Second.Dispose();
}
高手帮我看下这句: showSecondMenu(2);
如果把这句放在循环外边,就能正常运行,而放到循环里,就无法打开(其实是打开很慢。超慢,慢到看不到结果)。主要原因不是死循环,在这个地方 DataSet DS_Second = DB.GetDate(sqlStr1);
,大家帮我看下,谢谢大家。
解决方案 »
- 正则表达式的一些问题
- Repeater嵌套问题,,,真有点难啊??????
- asp.net MVC3中web.config文件中的connectionString的设置问题
- 很急的问题,让我中午就弄好!!我用分页存储过程读出的数据放入datareader中再绑定reapeater是否合理,该如何做!!
- 请问:如何解决瑞星防火墙2004打开后出现“无法与服务器建立连接”的问题?
- 快急死了!!!兄弟们帮帮忙!!!一个典型的问题:把做好的网站拷贝办公室的另一个机器上,出现以下问题!!不知道怎么解决!!
- DataGrid1.DataBind();对应VB语句怎么写?
- 关于.net的配置问题
- ???如果获取由程序动态增加的控件的值(高分)?
- ASP.NET5 NET4.6 VS2015项目结构和之前的差异还是有点的
- asp.net 怎样判断http请求是否成功(在线等)
- 跪求 急啊!!!!javascript在ascx中不执行
你构造出来的SQL语句是什么样的?
你这应该是先取一级菜单,再根据一级菜单ID取它下面的二级菜单,但没看到你ShowSecondMenu里用到一级菜单的ID或什么,直接是每次都全取呀。。
怪我没仔细说明我的程序。
第一:showSecondMenu方法里的参数我是随便定的用来测试,没有实际意义。正如二楼指正的这样,没有根据指定一级分类下的二级分类。
第二:就是我的二级分类:second_class表里只有2条数据,所以应该不是数据量太大的问题,感谢三楼提醒了。
第三:就是我的db里面对数据库的操作只有两个,一个就是这个传回数据用的DataSet,还有个就是执行Sql语句的方法。对于四楼说的死锁,我还不懂,希望您帮我详细讲解下,感谢。
第四:我一般都喜欢用DataSet来读取数据库,不知道和DataReader比较那个更好些。由于中午有事,我这个回复有点晚,大家见谅,再次感谢大家的回复。谢谢。
还有你的Base_Class表是不是有过多的条目??
第四:我一般都喜欢用DataSet来读取数据库,不知道和DataReader比较那个更好些。 DataSet可以从数据库表中取得数据,然后就可以断开了与数据库的连接,而DataReader必须去数据以及显示都必须要跟数据库保持时时的连接。
我的DataSet方法就是基本DataSet数据读取,打开连接,配置CMD这样的。然后return这个DS。我的base_class里的数据也很少。#10楼
那是不是关于dataset和datareader的内存回收包括cn的close都该写在一个方法里(比如clear()),在每次通过这个方法获得数据后,然后就马上利用clear()来清除。
有没有试过sql语句写死试试了..
如果还是一样的,那就