【问题标题】:Display Crystal Report Viewer in ASP.NET在 ASP.NET 中显示 Crystal Report Viewer
【发布时间】:2016-05-15 16:07:39
【问题描述】:

我在 CrystalReport ASP.NET 中遇到了一些问题。

我正在 ASP.NET 中创建一个 DataSet,我想使用 ADO.NET(xml) 将其导出到 CrystalReport.rpt。但它失败了。当我建立新连接并将属性列放入报表时,Crystal Report 中的Main Report Viewer 显示错误结果。我在Oraclesqldevelop编译sql查询,结果很好,没有任何问题。我想单击一个按钮并显示报告。

这是我的代码:

protected void btnsumbit_Click(object sender, EventArgs e)
{
    lblerror.Text = "";
    if (txtdari.Text == "" || txtdari.Text == null || txtsampai.Text == "" || txtsampai.Text == null)
    {
        lblerror.Text = "Tanggal Harus Diisi !!!";
    }
    else 
    {
        DateTime dt1 = Convert.ToDateTime(txtdari.Text);
        DateTime dt2 = Convert.ToDateTime(txtsampai.Text);
        if (dt1.Date > dt2.Date)
        {
            lblerror.Text = "Format Tanggal yang Dimasukkan Salah !!!";
        }
        else 
        {
            OracleConnection conn = new OracleConnection();
            conn.ConnectionString = connectionstring;
            conn.Open();
            string sql = "SELECT c.SUB_DISTRIBUTOR , c.MID  , c.REKNO , b.ID, b.TERMINAL_ID , b.TANGGAL , b.KETERANGAN , b.DEBIT , b.KREDIT , b.SALDO , b.REFF_NO,b.PRODUK,b.NO_PELANGGAN, b.SN_ID , b.STATUS from MERCHANT c JOIN DAILY b  ON (b.REKENING_NO = c.REKNO) where TANGGAL between TO_DATE('"+txtdari.Text+"','mm-dd-yyyy') AND TO_DATE('"+txtsampai.Text+"','mm-dd-yyyy')";
            OracleCommand cmd = new OracleCommand(sql, conn);
            OracleDataAdapter da = new OracleDataAdapter(cmd);
            DataTable dt = new DataTable();
            da.Fill(dt);
            da.Dispose();

            DataSet ds = new DataSet();
            ds.Tables.Add(dt);
            ds.WriteXmlSchema("C:\\Users\\Henz\\Documents\\Visual Studio 2012\\Projects\\LPI\\LPI\\Files\\Sample.xml");
            conn.Close();

            Response.Redirect("plot.aspx");
        } 
    }
}

【问题讨论】:

    标签: c# asp.net crystal-reports


    【解决方案1】:

    根据您的描述,我可以理解没有发生任何错误。主要问题是您的结果与您的期望不一样。所以我认为你应该再次检查你的命令参数。请尝试以下代码:

    DateTime dt1 = Convert.ToDateTime(txtdari.Text);
    DateTime dt2 = Convert.ToDateTime(txtsampai.Text);
    
    ////////ARI DATE/////////
    OracleParameter fromDateParameter = new OracleParameter();
    fromDateParameter.OracleDbType = OracleDbType.Date;
    fromDateParameter.Value = dt1;
    
    ////////SAMPAI DATE/////////
    OracleParameter toDateParameter = new OracleParameter();
    toDateParameter.OracleDbType = OracleDbType.Date;
    toDateParameter.Value = dt2;
    
    
    this.oracleDataAdapter4.SelectCommand = new OracleCommand("SELECT c.SUB_DISTRIBUTOR , c.MID  , c.REKNO , b.ID, b.TERMINAL_ID , b.TANGGAL, b.KETERANGAN , b.DEBIT , b.KREDIT , b.SALDO , b.REFF_NO,b.PRODUK,b.NO_PELANGGAN,   b.SN_ID , b.STATUS from MERCHANT c JOIN DAILY b  ON (b.REKENING_NO = c.REKNO) where TANGGAL BETWEEN :fromDateParameter AND :fromDateParameter)”, conn);
    OracleDataAdapter da = new OracleDataAdapter(cmd);
    
    
    da.SelectCommand.Parameters.Add(fromDateParameter);           
    da.SelectCommand.Parameters.Add(toDateParameter);  
    DataTable dt = new DataTable();
    da.Fill(dt);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-09
      • 1970-01-01
      • 1970-01-01
      • 2011-02-15
      相关资源
      最近更新 更多