今天做水晶报表。做了个标签的那种。。可是其中的一列怎么也不显示数据,一共有四列如下
资产编号:xxxxx
资产名称:xxxxx
部门名称:
购置日期:xxxxx
部门名称不显示,数据库中绝对有,然后相关的sql页在数据库中测试可用。且数据正确。我实在是迷茫啊。都两天了。。
下面是绑定代码  string sql = "";
            if (this.radioButton1.Checked == true)
            {
                string da1 = this.dateTimePicker1.Text.ToString();
                string da2 = this.dateTimePicker2.Text.ToString();
                sql = "select  MB001,MB002,MB016,MC002,ME002 from ASTMB,ASTMC,CMSME WHERE ASTMB.MB001=ASTMC.MC001 AND ASTMC.MC002=CMSME.ME001 and MB016>='" + da1 + "' AND MB016<='" + da2 + "'";
            }
            else if (this.radioButton2.Checked == true)
            {
                if (this.textBox1.Text != "")
                {
                    string id = this.textBox1.Text.Trim();
                    sql = "select  MB001,MB002,MB016,MC002,ME002 from ASTMB,ASTMC,CMSME WHERE ASTMB.MB001=ASTMC.MC001 AND ASTMC.MC002=CMSME.ME001 and MB001='" + id + "'";
                }
                else
                {
                    MessageBox.Show("请输入数据进行查询!", "提示");
                }
            }
            
            SqlConnection conn = new SqlConnection("server=192.168.0.51;database=YS999;uid=sa;pwd=5619512");
            SqlDataAdapter da = new SqlDataAdapter(sql, conn);
            DataSet1 ds = new DataSet1();
            da.Fill(ds, "table1");
            crystalMark1 = new CrystalMark();
          
            TableLogOnInfo LInfo = new TableLogOnInfo();
            LInfo.ConnectionInfo.ServerName = "192.168.0.51";// Application.StartupPath + "eastmap.esp"
            LInfo.ConnectionInfo.DatabaseName = "YS999";
            LInfo.ConnectionInfo.UserID = "sa";
            LInfo.ConnectionInfo.Password = "5619512";
            for (int i = 0; i < crystalMark1.Database.Tables.Count; i++)
            {
                crystalMark1.Database.Tables[i].ApplyLogOnInfo(LInfo);
            }  
            crystalMark1.SetDataSource(ds.Tables["table1"]);
            crystalReportViewer1.ReportSource = crystalMark1;
           

解决方案 »

  1.   

    1、看看查出来的DATASET对不对,水晶报表中那个字段有没有拖上去
    2、可以加个try catch看看能捕获到什么异常
      

  2.   

    数据库里面用这个sql语句 查出来了几十条数据。。四列 一个也不少。。部门确实存在茫然啊。
      

  3.   

    仔细检查下你拖上去的字段名和你DATASET中的字段名是否一致,不行的话把你的自己拖的那个表删除重新建表,再拖次
    还有重新编译后要把报表放到你加载的路径中
    你再试试看
      

  4.   

    还是不知道怎么回事,我已经重新做了好几次了,最后没办法。只能在dataset里面手动建立一个datatable
    然后在调用页填充这个datatable。然后再赋给报表。唉,水晶报表,真是怕了。。