2016-05-15 3 views
0

Ich habe einige Probleme in CrystalReport ASP.NET.Crystal Report Viewer in ASP.NET anzeigen

Ich erstelle eine DataSet in ASP.NET und ich möchte es mit ADO.NET (XML) zu CrystalReport.rpt exportieren. Aber es scheitert. Wenn ich eine neue Verbindung einfüge und eine Attributspalte in den Bericht einfüge, zeigt das Main Report Viewer im Crystal Report das falsche Ergebnis. Ich kompiliere die SQL-Abfrage in Oraclesqldevelop, das Ergebnis ist in Ordnung und hat keine Probleme. Ich möchte auf eine Schaltfläche klicken und den Bericht anzeigen.

Dies ist mein Code:

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"); 
     } 
    } 
} 

Antwort

1

Wie Ihre Beschreibung, kann ich verstehen, dass es passiert ist kein Fehler ist. Das Hauptproblem ist Ihr Ergebnis ist nicht wie Ihre Erwartung. Also ich denke du solltest nochmal den Parameter deines Kommandos überprüfen. Bitte versuchen Sie es mit folgendem Code:

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);