gyixue 2019-04-12 13:00 采纳率: 0%
浏览 279

c#一段代码, 逻辑上有一句 if 有没有都可以,可是去掉就会报错堆栈溢出,加上就没事,大神帮忙看看是什么原因

string str_cnn = "provider=Microsoft.Jet.OLEDB.4.0; Data Source=";
string str_stringfile = "mdb\mydb.mdb";
OleDbCommand cmd;
OleDbConnection cnn;
OleDbDataReader reader;
string str_sql;

    string str_conn = str_cnn + MapPath(str_stringfile);
    cnn = new OleDbConnection(str_conn);
    str_sql = "SELECT t_menuL0.*, t_menuL1.* FROM t_menuL1 RIGHT JOIN t_menuL0 ON t_menuL1.m1_m0id = t_menuL0.m0_id";
    cnn.Open();
    cmd = new OleDbCommand(str_sql,cnn);
    reader = cmd.ExecuteReader();

//以上是数据库的连接和读取

Panel pl_fenlei, pl_fenleixinwen, pl_cr;
HyperLink hl_xiangmu,hl_fenlei;
//这里定义了几个控件用来添加到前台的 下面是数据读取的循环
while (reader.Read()) {
if (FindControl((div_mainm0id.ID).ToString() + "_" + reader["m0_id"].ToString()) == null) {
// 用m0_id 字段创建对应控件, 但是在数据库中有重复出现,所以要检测
hl_fenlei = new HyperLink();
hl_fenlei.Text = reader["m0_ttl"].ToString();

            pl_fenlei = new Panel();
            pl_fenlei.ID = (div_mainm0id.ID).ToString() + "_" + reader["m0_id"].ToString();
            pl_fenlei.CssClass = "fenlei";
            pl_fenlei.Controls.Add(hl_fenlei);
            pl_fenleixinwen = new Panel();
            pl_fenleixinwen.ID = "fenleixinwen" + "_" + reader["m0_id"].ToString();
            pl_fenleixinwen.CssClass = "fenleixinwen";

            pl_fenlei.Controls.Add(pl_fenleixinwen);
            div_mainm0id.Controls.Add(pl_fenlei);


        }

        hl_xiangmu = new HyperLink();
        hl_xiangmu.Text=reader["m1_ttl"].ToString();

        if (FindControl("fenleixinwen_" + reader["m1_m0id"].ToString())!=null) {
            ((Panel)FindControl("fenleixinwen_" + reader["m1_m0id"].ToString())).Controls.Add(hl_xiangmu);
        }
        // 问题就出在上面的if语句了


    }

    cnn.Close();
// 前台代码什么都没有  就定义了div标签  向标签里面添加数据
<body>
    <form id="form1" runat="server">
    <div>

        <div runat="server" id="div_mainm0id">


        </div>
    </div>

    <div id="div1"></div>
    </form>

</body>
  • 写回答

2条回答

  • gyixue 2019-04-12 13:04
    关注

    图片说明 这是 数据库

    评论

报告相同问题?

悬赏问题

  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?