各位大哥MM,JJ弟弟我在用asp.net動態調數據源時顯示的水晶報表,
為何當有一個表時成功了,有兩個表以上的沒有數據顯示呢?如
string connStr = "DSN=Mfgsys80;UID=SYSPROGRESS;PWD=sysprogress;HOST=10.10.9.83;PORT=8050;DB=Mfgsys80";
        OdbcConnection conn = new OdbcConnection(connStr);
        conn.Open();        String strSql = "select dcduserid,name from pub.UserFile";
        //OdbcCommand strCmd = new OdbcCommand(strSql, conn);
        //strCmd.ExecuteNonQuery();
        //OleDbDataReader objDataReader = objCommand.ExecuteNonQuery();        OdbcDataAdapter myda = new OdbcDataAdapter(strSql, conn);
        DataSet myds = new DataSet();
        myda.Fill(myds, "pub.Userfile");
        if (myds.Tables["pub.userfile"].Rows.Count > 0)
        {
            ReportDocument oRpt = new ReportDocument();
            oRpt.Load("e:\\natpakweb\\CrystalReport1.rpt");
            oRpt.SetDataSource(myds.Tables["Pub.UserFile"]);
            this.CrystalReportViewer1.ReportSource = oRpt;
            this.CrystalReportViewer1.DataBind();
        }
        conn.Close();
    }這個是報表可以成功顯示了但下面的就不行了,在網頁中是空的,但在預覽報表時可以有數據顯示        string connStr = "DSN=Mfgsys80;UID=SYSPROGRESS;PWD=sysprogress;HOST=10.10.8.21;PORT=8050;DB=Mfgsys80";
        OdbcConnection conn = new OdbcConnection(connStr);
        conn.Open();        DataSet myds = new DataSet();        String strSql = "select * from pub.PartTran where TranType='INS-DMR'";        
        OdbcDataAdapter myda1 = new OdbcDataAdapter(strSql, conn);        
        myda1.Fill(myds, "PartTran");        strSql = "select * from pub.RcvHead where ReceiptDate='2006-04-06'";
        OdbcDataAdapter myda2 = new OdbcDataAdapter(strSql, conn);
        myda2.Fill(myds, "RcvHead");        strSql = "select * from pub.Vendor where VendorID='SC0198'";
        OdbcDataAdapter myda3 = new OdbcDataAdapter(strSql, conn);
        myda3.Fill(myds, "Vendor");        TableLogOnInfo logOnInfo = new TableLogOnInfo();
        
            ReportDocument oRpt = new ReportDocument();
            oRpt.Load("e:\\natpakweb\\accept01.rpt");
            oRpt.SetDataSource(myds);
           
            int i = 0;            
            for (i = 0; i == oRpt.Database.Tables.Count - 1; i++)
            {
                logOnInfo.ConnectionInfo.UserID = "sysprogress";
                logOnInfo.ConnectionInfo.Password = "sysprogress";
                oRpt.Database.Tables[i].ApplyLogOnInfo(logOnInfo);
            }
            ParameterFields paramFields = new ParameterFields();
            ParameterField paramField = new ParameterField();
            ParameterDiscreteValue discreteVal = new ParameterDiscreteValue();            paramField.ParameterFieldName = "MyValue";
            discreteVal.Value = "SC0198";
            paramField.CurrentValues.Add(discreteVal);
            paramFields.Add(paramField);            paramField = new ParameterField();
            paramField.ParameterFieldName = "MyPackslip";
            discreteVal.Value = "0044";
            paramField.CurrentValues.Add(discreteVal);
            paramFields.Add(paramField);
            this.CrystalReportViewer1.ParameterFieldInfo = paramFields;
        
            this.CrystalReportViewer1.ReportSource = oRpt;
            this.CrystalReportViewer1.DataBind();
       
        conn.Close();